Как ПО_ЧЕЛОВЕЧЕСКИ сравнить время?

Тема в разделе "Delphi - FAQ", создана пользователем zaraza, 13 ноя 2003.

Статус темы:
Закрыта.
  1. zaraza

    zaraza Гость

    Хочу сравнить текущее время со временнем, введённым руками в DateTimePicker.
    Конечно есть вариант преобразовать время в формат "час;минута;секунда;милисекунда" а потом по очереди сравнивать часы с часами... но может кто-то чем-то нормальным в Дельфях пользуется ????
    подскажите плз
     
  2. admin

    admin Well-Known Member

    Регистрация:
    8 авг 2003
    Сообщения:
    2.811
    Симпатии:
    0
    Я сейчас делаю прогу по работе с календарем. Я делал через EncodeDateTime. Т.е. Берешь например

    Код (Text):
    DecodeDateTime(current, wYear, wMonth .... wMSecond);

    и

    DecodeDateTime(now, yYear...yMSecond);

    и переменные сравнивал
    Я пытался сравнить напрямую переменные TDateTime, но т.к. отсчет идет от 1899 года то если текущая дата старше чем искомая то не сравнивается нифига.
     
  3. ironwit

    ironwit Гость

    сравни datetimepacker.time с функцией now
     
  4. shm

    shm Гость

    Время хранится в Double

    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.

    поэтому точность там по крайней мере миллисекунда. А в TDateTimePicker вводить время можно только до секунды.
    Как ни старайся, сравнение с Now будет всегда не равным. Нужно приводить все к одному формату.
     
  5. shm

    shm Гость

    Сравнивать с now напрямую можно только на > или <. Но нужно еще учитывать, что если
    TDateTimePicker.Kind=dtkTime, то пользователем меняется только составляющая времени в TDateTimePicker.Time,
    хотя тип поля TDateTime; дата там подставляется из поля TDateTimePicker.Date - ее нужно отслеживать в коде.
     
  6. Guest

    Guest Гость

  7. Tranc

    Tranc Гость

    :D nefiga vy tut chush porete rebata,.,.,,. :D
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей