Member 12901328 Ответов: 2

Вычислить дату вычитания и сложения


хай....

У меня есть pdf файл я генерирую код для извлечения данных из pdf в excel лист

if (listBox1.Items[i].ToString().Contains("ONLY Page 1 of 5 "))
{
    dr[5] = listBox1.Items[i + 2].ToString().Trim();
}


dr[5] дает значение даты, которая находится в формате pdf(например: 31.12.2016)
но я хочу войти dr[5] вычтите 7 дней в dr[5] и добавьте 15 дней приведенной даты

Например моя дата 12.07.2016
12/07/2016 - 7days + 15 days =12/15/2016


Что я уже пробовал:

if (listBox1.Items[i].ToString().Contains("ONLY Page 1 of 5 "))
{
   dr[5] = listBox1.Items[i + 2].ToString().Trim();
}

Я понятия не имею

StM0n

Не совсем понимаю, чего ты добиваешься... но почему бы вам просто не добавить 8 дней?

Какой тип находится в dr[5]... если это строка, вы должны преобразовать ее в дату и время, а затем просто добавить свои дни.

2 Ответов

Рейтинг:
2

Jochen Arndt

Вы должны преобразовать строку, представляющую дату, в числовое представление даты (Структура DateTime (Система)[^] с помощью C#). Затем используйте его для выполнения расчета (см. DateTime.Add[xxx] должностные обязанности). Чтобы распечатать дату, используйте DateTime.ToString Поскольку вы хотите передать его в Excel, было бы лучше использовать числовое значение и передать его в Excel (что может потребовать установки формата ячейки в зависимости от используемого метода экспорта).

Проблема в том, что существует множество различных форматов дат. Но если вы знаете точный формат, то преобразование не представляет никаких проблем (используйте DateTime.[Try]ParseExact). В противном случае используйте DateTime.TryParse чтобы проверить, была ли строка распознана как дата.


Рейтинг:
1

Michael_Davies

Преобразовать строку к переменной типа DateTime и использовать методы типа datetime ;

DateTime date1 = DateTime.Parse("12/07/2016",
               System.Globalization.CultureInfo.InvariantCulture).AddDays(-7);
 date1 = date1.AddDays(15);


Почему бы просто не добавить 8 дней вместо -7 + 15?

Единственная трудность заключается в том, чтобы убедиться, что строка имеет месяц и день в правильном направлении, проверьте MSDN.

Структура DateTime (Система)[^]