Обработка даты и времени

Тема в разделе "Visual Basic", создана пользователем fvoice, 29 мар 2008.

  1. fvoice

    fvoice Гость

    Репутация:
    0
    Пишу некое подобие органайзера, нужно складывать/вычитать/сравнивать даты и время, сколько помню, лучше всего это делать в числовом формате(преобразовывать дату/время в число с плавающей точкой, где целая часть это дата, а дробная время, если я правильно понимаю). Столкнулся с непонятными результатами:
    Код (Text):
    MsgBox CDate(CDbl(CDate("00:02:00")) + (CDbl(CDate("23:59:00")) + CDbl(CDate("01.01.1000"))))
    возвращает 03.01.1000 23:59:00
    , а
    Код (Text):
    MsgBox CDate(CDbl(CDate("00:00:00")) + (CDbl(CDate("23:59:00")) + CDbl(CDate("01.01.1000"))))
    возвращает 02.01.1000 0:01:00
    ,хотя
    Код (Text):
    MsgBox CDate(CDbl(CDate("00:01:00")) + (CDbl(CDate("23:59:00")) + CDbl(CDate("01.01.1000"))))
    получается 02.01.1000
    :)

    почему так происходит? может существует другой, более простой способ решения этих задач?

    платформа VB6
     
  2. fvoice

    fvoice Гость

    Репутация:
    0
    Дата - это число, целая часть которого - число полных суток, прошедших с 0:00 30.12.1899 (так - "1" соответствует 31.12.1899), дробная часть показывает время в частях от суток (т. е. 0,5 = 12 часов, 1/24/60/60=1 секунда).

    Примеры с датой позже 1899 г работают корректно:
    Код (Text):
    MsgBox CDate(CDbl(CDate("00:02:00")) + (CDbl(CDate("23:59:00")) + CDbl(CDate("01.01.2000"))))
    возвращает 02.01.2000 0:01:00
     
  3. skysun

    skysun Гость

    Репутация:
    0
    в VB от даты можно отнимать и прибавлять и сравнивать и так без доп. преобразований
     
Загрузка...
Похожие Темы - Обработка даты времени
  1. kolka
    Ответов:
    6
    Просмотров:
    486
  2. anna
    Ответов:
    9
    Просмотров:
    1.086
  3. FaRReLL
    Ответов:
    0
    Просмотров:
    958
  4. crow1986
    Ответов:
    8
    Просмотров:
    2.030
  5. Dazzel
    Ответов:
    1
    Просмотров:
    1.029

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