Страница 1 из 1

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

Добавлено: 19 авг 2008, 10:21
ONIX
Можно ли как то вычислить разницу между датами, если даты предствлены в строковом виде, и записать эти данные в отдельную колонку?

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

Добавлено: 19 авг 2008, 11:46
Andrey
Генератор отчетов к вопросу вроде бы не имеет отношения. Смотрите DateTime.Parse() как вариант.

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

Добавлено: 19 авг 2008, 13:58
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);

Спасибо.

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

Добавлено: 21 авг 2008, 07:21
ONIX
Т.е. функция TimeSpan DateDiff (DateTime date1, DateTime date2) имеется только в последних версиях пакета? В версии 2007.1. ее нет?

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

Добавлено: 21 авг 2008, 12:25
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}
Спасибо.