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

Вниз

Можно ли програмно сравнить две даты?   Найти похожие ветки 

 
KostR   (2005-11-12 16:10) [0]

Здравствуйте. Проблема в следующем. Мне надо, например, сегодняшнюю дату (12.11.2005) програмно сравнить с другими датами (10.05.2005, 10.07.2003 и т.п.). И если дата хотябы на два месяца младше сегодняшней ее нужно вывести в label1.caption. Как их сравнить? Если бы это были числа, то без проблем, а так нужна помощь специалиста. Спасибо.


 
Sergey Masloff   (2005-11-12 16:24) [1]

А даты это и есть числа. Целая часть - день дробная - время.


 
SergP ©   (2005-11-12 16:28) [2]

if trunc(date1)=trunc(date2) then ....


 
Плохиш ©   (2005-11-12 16:29) [3]

MonthBetween


 
Piter ©   (2005-11-12 16:30) [4]

Sergey Masloff   (12.11.05 16:24) [1]
А даты это и есть числа


когда они в формате TDateTime.

А для перевода текстовой даты в TDateTime есть разнообразнейшие функции, типа StrToDateTime (или как-то так).


 
Savek   (2005-11-12 16:32) [5]

TDateTime это действительно число!
Переменные этого типа можно складывать, отнимать, +/- к ним константы

if Date-Date1>60 then Label.Caption:=DateToStr(Date1)

Хотя если учитывать кол-во дней в месяце, то надо подумать

А вообще ф-ии для работы с датами смотри в модуле DateUtils


 
Udaff ©   (2005-11-12 21:23) [6]

для расшивровки TDate есть наскоко помню функции типа DecodeDate. для времени если нужно аналогичные тоже есть. справку в зубы и вперед


 
Eraser ©   (2005-11-12 22:45) [7]


> KostR   (12.11.05 16:10)

1. Переводишь даты в TDateTime с пом. ф-ии EncodeDate или StrToDate.
2. [1]


 
gdaujk ©   (2005-11-13 05:52) [8]

Savek   (12.11.05 16:32) [5]
Хотя если учитывать кол-во дней в месяце, то надо подумать

В TryEncodeDate, использующейся и в EncodeDate и в StrToDate, это учтено. Дата, насколько я понимаю, представляется как число дней от рождества Христова, с учётом високосных годов и разницы числа дней в месяцах.
Время переводится в милисекунды и делится на число миллисекунд в сутках. Получается дробная часть числа.

KostR   (12.11.05 16:10)
Мне надо, например, сегодняшнюю дату (12.11.2005) програмно сравнить с другими датами

В данном конкретном случае, по-моему, лучше ручками сравнить сначала годы, если они равны, сравнивать месяцы. Это лучше, чем использовать StrToDate и EncodeDate.



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

Форум: "Начинающим";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.016 c
6-1123963055
NikNet
2005-08-13 23:57
2005.11.27
FTP Proxy у кого есть пример пожалуйста скиньте?


3-1129192638
iamkate
2005-10-13 12:37
2005.11.27
Перенос данных SQL-запросом


1-1130850688
_Vox_
2005-11-01 16:11
2005.11.27
Почему не срабатывает try...except?


14-1131395620
ArtemESC
2005-11-07 23:33
2005.11.27
делаю сайт...


9-1121586869
Conferno
2005-07-17 11:54
2005.11.27
Пример с ZShadows (GLScene)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский