(если я правильно понял вопрос) В оффисных приложениях Microsoft дата представляет десятичную дробь. При этом целая часть - число дней прошедших с 31.12.1899 (т.е. 1 - 01.01.1900, 2 - 02.01.1900 и т.д.), дробная часть - соответствующая часть суток (например 0,25 - 6 часов утра, 0,5 - полдень). А сложение дат производится просто как сложение дробей с последующим переводом в формат даты. Получили 156,36 - отсчитываем 156 дней от 31.12.1899 (4.6.1900) 0,36 - часть суток из расчета 1=24 часа (т.е. 8 час 38 мин 24 сек) |
Вопросы и ответы |
Поиск
Анна | Репутация: 121 (Кандидат)
25 сентября 2009 в 18:32
Иван Меркулов | Репутация: 99 (Без статуса)
24 сентября 2009 в 13:20
Анастасия Моисеева | Репутация: 95 (Без статуса)
21 сентября 2009 в 16:36
Анна | Репутация: 121 (Кандидат)
21 сентября 2009 в 16:08
Тема: Сетевые технологии
Олег Смирнов | Репутация: 99 (Без статуса)
19 сентября 2009 в 21:05
Нигяр Шафиева | Репутация: 106 (Кандидат)
17 сентября 2009 в 16:02
Сергей Ковалёв | Репутация: 99 (Без статуса)
16 сентября 2009 в 12:35
Антон Рундаков | Репутация: 100 (Кандидат)
10 сентября 2009 в 18:38
Айрат Хафизов | Репутация: 103 (Кандидат)
9 сентября 2009 в 18:04
Тема: Программирование
Серафима Белоусова | Репутация: 97 (Без статуса)
3 сентября 2009 в 17:41
Тема: Офисные технологии
Серафима Белоусова | Репутация: 97 (Без статуса)
3 сентября 2009 в 17:27
Тема: Офисные технологии
Константин Иванов | Репутация: 608 (Специалист)
2 сентября 2009 в 17:32
Nadezhda Mataeva | Репутация: 95 (Без статуса)
1 сентября 2009 в 10:29
Андрей Можжов | Репутация: 99 (Без статуса)
1 сентября 2009 в 10:26
Наталья Рязанова | Репутация: 100 (Кандидат)
26 августа 2009 в 14:29
Семен Ледовский | Репутация: 328 (Кандидат)
23 августа 2009 в 15:13
Антон Сорокин | Репутация: 112 (Кандидат)
23 августа 2009 в 01:48
Тема: Программирование
Денис Белошеев | Репутация: 100 (Кандидат)
13 августа 2009 в 09:47
Тема: Программирование
Алексей Сокур | Репутация: 95 (Без статуса)
11 августа 2009 в 11:07
Тема: Образование
Галина Бирюкова | Репутация: 99 (Без статуса)
10 августа 2009 в 15:29
Тема: Образование
Тысячи программистов уже задавались этим вопросом, поэтому следует учесть 2 вещи:
- прежде чем написать что-то стоит поискать готовую реализацию
- общие положения о дате можно найти тут: http://www.opennet.ru/man.shtml?topic=time&category=7&russian=2
Очевидная математическая модель времени - число секунд, прошедших от начала эпохи (складывать и вычитать целые числа просто). Если точность до секунд не требуется, можно использовать число дней или лет.
Таким образом для выполнения операции "2009-09-26 + 1 день" нужно:
* преобразовать операнды (символьные даты) в целые числа
* сложить операнды по правилам сложения целых чисел
* преобразовать результат сложения в дату
Алгоритм трансляции числа дней от начала эпохи в год, месяц, день и обратно был предложен в 1582 папой Григорием XIII http://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B8%D0%B3%D0%BE%D1%80%D0%B8%...