Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.05 c
2-1175162634
YadlU
2007-03-29 14:03
2007.04.22
Разность даты/время


15-1175222220
Slider007
2007-03-30 06:37
2007.04.22
С днем рождения ! 30 марта


15-1174675545
VirEx
2007-03-23 21:45
2007.04.22
подскажите компонент локальной базы данных


2-1175671186
Gentos
2007-04-04 11:19
2007.04.22
Глобальная переменная


2-1175763871
inoc
2007-04-05 13:04
2007.04.22
передача массива в процедуру





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский