Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.22;
Скачать: CL | DM;

Вниз

Преобразование Даты в Число   Найти похожие ветки 

 
YadlU ©   (2007-03-30 12:51) [0]

Напишите пожалуйста процедурку преобразующую тип DateTime  в тип Integer, что бы я могла узнать разность между двумя датами и вывести сколько дней, месяцев, годов, часов и секунд прошло от начальной даты до конечной даты


 
ЮЮ ©   (2007-03-30 12:58) [1]

Round, Floor, etc.

30 дней могут оказаться и 1 месяцем и 30/31 месяца и 1 3/28 месяца. Так что переводить дни в месяцы - дело неблагодарное. Следует следовать инструкциям предметной области :)  

глянь модуль DateUtils, может что и подберёшь


 
Elen ©   (2007-03-30 13:01) [2]

DaysBetween, MonthsBetween function и т.д. в модуле DateUtils


 
clickmaker ©   (2007-03-30 13:02) [3]

если нужна точность до секунд, Integer недостаточно


 
Ketmar ©   (2007-03-30 13:17) [4]

DateTimeToUnix (или как её там?). точность до секунд. чего недостаточно?


 
clickmaker ©   (2007-03-30 13:19) [5]

function DateTimeToUnix(const AValue: TDateTime ): Int64;
:)


 
Ketmar ©   (2007-03-30 13:31) [6]

это перестраховка. %-) я сильно надеюсь, что к тому времени, когда int перестанет хватать, юникс помрёт наконец. %-)

посмотри на текущее значение даты в unix-формате. таки влезает в int32. и точность "до секунд". %-)


 
Сергей М. ©   (2007-03-30 15:35) [7]


> YadlU ©   (30.03.07 12:51)


В дате нет никаких "часов, секунд"


 
Elen ©   (2007-03-30 15:47) [8]


> В дате нет никаких "часов, секунд"

Зато между датами есть.


 
Сергей М. ©   (2007-03-30 15:54) [9]


> Elen ©   (30.03.07 15:47) [8]


Ты опять ?)

Кажется, ИШ тебе уже намекнул на фонтан)

Между датами могут быть только целые сутки !

А секунды (и прочая ботва) могут фигурировать лишь между двумя временными отметками !


 
Johnmen ©   (2007-03-30 16:00) [10]

http://delphimaster.net/view/2-1175164361/
http://delphimaster.net/view/2-1175164361/

пора метлу выдавать :)


 
Elen ©   (2007-03-30 16:18) [11]


> Сергей М. ©   (30.03.07 15:54) [9]

т.е. ты утверждаеш что SecondsBetween(StrToDate("26.05.2007"),StrToDate("26.01.2007")) выдаст неверный результат?


 
Johnmen ©   (2007-03-30 16:21) [12]


> Elen ©   (30.03.07 16:18) [11]
> т.е. ты утверждаеш что
> SecondsBetween(StrToDate("26.05.2007"),StrToDate("26.01.
> 2007")) выдаст неверный результат?

А я утверждаю, что ЭТО вообще выдаст у меня EConvertError :)))


 
vl_chel ©   (2007-03-30 16:36) [13]

TDateTime надеюсь тип назвал правильно - это вещественное число хранящее значение в секундах, разница между двумя знаениями и есть интервал в секундах.
Вообщето в справке потипу это подробно описанно.


 
Германн ©   (2007-03-30 16:41) [14]


> vl_chel ©   (30.03.07 16:36) [13]
>
> TDateTime надеюсь тип назвал правильно - это вещественное
> число хранящее значение в секундах, разница между двумя
> знаениями и есть интервал в секундах.
> Вообщето в справке потипу это подробно описанно.
>

В какой же справке ты прочел сей бред?


 
vl_chel ©   (2007-03-30 16:58) [15]

Сорри не в секундах а в днях
Most VCL objects represent date and time values using the TDateTime type. The integral part of a TDateTime value is the number of days that have passed since 12/30/1899. The fractional part of a TDateTime value is fraction of a 24 hour day that has elapsed.

Delphi 6


 
vl_chel ©   (2007-03-30 17:22) [16]

Проверил TDateTime это Double размер 8 байт


 
vl_chel ©   (2007-03-30 17:34) [17]

TDateTime = type Double;

Модуль system строка 423



Страницы: 1 вся ветка

Текущий архив: 2007.04.22;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.048 c
1-1172131444
Кабан
2007-02-22 11:04
2007.04.22
TWebBrowser


2-1175119886
ppcumax
2007-03-29 02:11
2007.04.22
Как перемешать слова в Memo


15-1175174465
Knight
2007-03-29 17:21
2007.04.22
Ни у кого не завалялась модель...


2-1174936807
ДухКороляАртура
2007-03-26 23:20
2007.04.22
smtp и windows-1251


3-1170271088
ancot
2007-01-31 22:18
2007.04.22
Порядковый номер записи