Сравнение двух дат

Тема в разделе "WASM.BEGINNERS", создана пользователем zxcc, 14 авг 2007.

  1. zxcc

    zxcc New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2006
    Сообщения:
    172
    Здравствуйте.Есть ли функция для сравнение двух дат.Например в формате(вторник 14 августа 2007 г. и понедельник 13 августа 2007 г.)
     
  2. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    CompareFileTime, но формат тут - FILETIME, а не просто текстовый
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    FILETIME == qword, можно просто сравнить их, без применения API.
     
  4. nitrotoluol

    nitrotoluol New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    848
    lea esi, xFILETIME
    lea edi, yFILETIME
    mov ecx, 2
    repz cmpsd

    Зачем тут еще апи??
     
  5. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    nitrotoluol
    я извиняюсь за глупый вопрос, но такой способ подойдет, чтобы узнать какая из дат больше? (т.е. не просто что они не равны)
     
  6. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    MSoft
    пойдет. FILETIME - это количество 100нс-ных отрезков начиная с какого-то года.
     
  7. FromNowhere

    FromNowhere New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2007
    Сообщения:
    23
  8. zxcc

    zxcc New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2006
    Сообщения:
    172
    можно ли строковой параметр(понедельник 13 августа 2007 г.)преобразовать в формат FILETIME?
     
  9. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    SystemFileToFileTime
     
  10. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    n0name
    это ж не строковый параметр, а требуется строковый

    zxcc
    думаю, самому придется переводить
     
  11. JAPH

    JAPH New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2007
    Сообщения:
    124
    n0name
    Есть логичное объяснение того, с какого перепугу FILETIME отсчитывается с 1 января 1601 года, да ещё в наносекундах?
     
  12. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    http://www.decimaltime.hynes.net/computers.html
     
  13. zxcc

    zxcc New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2006
    Сообщения:
    172
    Вся проблема что считываю дату с SysDateTimePic32 в строковом формате,а можно считать её в формате FILETIME(и где можно посмотреть исходник с FILETIME)
     
  14. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    zxcc
    Это вопрос или ответ? Если вопрос, то DTM_SETSYSTEMTIME.
     
  15. zxcc

    zxcc New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2006
    Сообщения:
    172
    Подскажите почему у меня при сравнении двух FILETIME структур
    (invoke CompareFileTime,ADDR FT3,ADDR FT2) при равенстве возвращаемое значение равно не 0 а -1?
     
  16. Noble Ghost

    Noble Ghost New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2004
    Сообщения:
    204
    Адрес:
    Russia
    ошибка, стало быть
     
  17. EP_X0FF

    EP_X0FF New Member

    Публикаций:
    0
    Регистрация:
    13 авг 2006
    Сообщения:
    450
    Потому что не равны. Первое время раньше второго.
     
  18. zxcc

    zxcc New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2006
    Сообщения:
    172
    я взял с DateTimePic32 данные в формате FILETIME(среда 29 августа 2007) и
    через 20 минут сравнил с DateTimePic32 данные в формате FILETIME(среда 29 августа 2007)то получается -1
     
  19. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    zxcc
    Не забывай, там еще и секунды учитываются. Поэтому две одинаковые по дням даты могут различаться...
     
  20. zxcc

    zxcc New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2006
    Сообщения:
    172
    А просто сравнить 2 даты без учета времени можно?