Можно ли как то вычислить разницу между датами, если даты предствлены в строковом виде?

Обсуждение Stimulsoft Reports.NET
Ответить
ONIX
Сообщения: 15
Зарегистрирован: 13 мар 2008, 13:52

Можно ли как то вычислить разницу между датами, если даты предствлены в строковом виде?

Сообщение ONIX »

Можно ли как то вычислить разницу между датами, если даты предствлены в строковом виде, и записать эти данные в отдельную колонку?
Andrey
Сообщения: 13
Зарегистрирован: 14 дек 2007, 05:20
Откуда: Moscow

Можно ли как то вычислить разницу между датами, если даты предствлены в строковом виде?

Сообщение Andrey »

Генератор отчетов к вопросу вроде бы не имеет отношения. Смотрите DateTime.Parse() как вариант.
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

Можно ли как то вычислить разницу между датами, если даты предствлены в строковом виде?

Сообщение Edward »

Здравствуйте.

Да, это возможно.

Около 2-х месяцев назад была добавлена новая функция в список стандартных в отчете. Вот её описание:

TimeSpan DateDiff (DateTime date1, DateTime date2)

Returns a number of time intervals between two specified dates.

Parameters
date1 - date1 is the first DateTime value used in calculating the difference.
date2 - date2 is the first DateTime value used in calculating the difference.

Return Value
A TimeSpan value.

Реализуется функция очень просто:

date1.Subtract(date2);

Спасибо.
ONIX
Сообщения: 15
Зарегистрирован: 13 мар 2008, 13:52

Можно ли как то вычислить разницу между датами, если даты предствлены в строковом виде?

Сообщение ONIX »

Т.е. функция TimeSpan DateDiff (DateTime date1, DateTime date2) имеется только в последних версиях пакета? В версии 2007.1. ее нет?
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

Можно ли как то вычислить разницу между датами, если даты предствлены в строковом виде?

Сообщение Edward »

Да, этой функции в версии 2007.1 нет.

Но Вы можете воспользоваться следующим выражением с тем же эффектом:

Код: Выделить всё

{DateTime.Parse(MyDateColumn2).Subtract(DateTime.Parse(MyDateColumn1)).Days}
или так:

Код: Выделить всё

{(new DateTime(int.Parse(MyDateColumn2.Substring(6,4)),int.Parse(MyDateColumn2.Substring(3,2)),int.Parse(MyDateColumn2.Substring(0,2))
)).Subtract
(new DateTime(int.Parse(MyDateColumn1.Substring(6,4)),int.Parse(MyDateColumn1.Substring(3,2)),int.Parse(MyDateColumn1.Substring(0,2))
)).Days}
Спасибо.
Ответить