Работа с датой и временем

Тема в разделе "WASM.ASSEMBLER", создана пользователем CodeGrinder, 18 мар 2009.

  1. CodeGrinder

    CodeGrinder New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2007
    Сообщения:
    56
    Появилась необходимость в следующем:
    1. Конвертировать дату в секундах в обычный формат.
    2. Проверять, через какой промежуток времени наступит определенная дата. (Сколько осталось до дня рождения например)

    Реализация не является проблемой, проблема в алгоритмах.
    Где можно почитать об особенностях? Посоветуйте, пожалуйста.
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Что подразумевается под обычным форматом?
    В любом случае, операции конвертации будут либо умножение, либо деление.
     
  3. CodeGrinder

    CodeGrinder New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2007
    Сообщения:
    56
    Есть время в секундах (с 1970 года).
    Необходимо конвертировать в формат дд.мм.гг
     
  4. MirrorBlack

    MirrorBlack Алексей

    Публикаций:
    0
    Регистрация:
    21 июн 2008
    Сообщения:
    249
    Адрес:
    Moscow
    CodeGrinder
    А откуда оно взялось?

    http://junglewin.narod.ru/time.html
    http://msdn.microsoft.com/en-us/library/ms725473(VS.85).aspx
     
  5. CodeGrinder

    CodeGrinder New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2007
    Сообщения:
    56
    Хранится в заголовке IP пакета
     
  6. MirrorBlack

    MirrorBlack Алексей

    Публикаций:
    0
    Регистрация:
    21 июн 2008
    Сообщения:
    249
    Адрес:
    Moscow
    CodeGrinder
    Имеется в виду "Время жизни" пакета ?
     
  7. CodeGrinder

    CodeGrinder New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2007
    Сообщения:
    56
    Имеется в виду таймстамп. Но по-моему это не важно. Проблема в разработке алгоритма.
     
  8. MirrorBlack

    MirrorBlack Алексей

    Публикаций:
    0
    Регистрация:
    21 июн 2008
    Сообщения:
    249
    Адрес:
    Moscow
    CodeGrinder
    Ну есть, так есть. Я в IP не спец к сожалению.
    Алгоритм видится простым:
    1) Переведи своё время (IP) в формат времени windows (100нс интервал)
    2) Прибавив N получиш отсчёт от 1 января 1601 года
    3) Используй функции windows как пожелаеш :)

    N - вычисли сам (ведь не написал с какого числа 1970 года отсчёт)
     
  9. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    355
    Вики посмотри про високосные года и вообще про дату-время. Если липовые секунды не интересуют, имхо, хватит. Можешь ещё это глянуть, если интересно.

    У меня тут фасмовый макрос валяется, который %t (тот самый таймстамп) в строку при компиляции преобразует. Надо?
     
  10. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    Никакого времени в IP header нету. Дуйте на wikipedia и networksorcery - смотрите формат.
     
  11. CodeGrinder

    CodeGrinder New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2007
    Сообщения:
    56
    s0larian Имелось в виду не IP header, а заголовок любого IP пакета.

    Тема создана не для обсуждения формата протокола IP. Но если уже это так важно, то уточню - я ловлю пакеты, которые сохраняю в РСАР формате. В Pcap packet header нужно вписать как раз это время. Когда будет пакет вычитываться - нужно вывести таймстамп в формате дд.мм.гг чч.мм.сс.

    Спасибо MirrorBlack и iZzz32 за ответы по теме.

    Пока обсуждался формат IP, решение было найдено.