Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
ctime, работа с датой и временем в с++
 
вопрос такой: как используя tm или time_t из <ctime> осуществлять операции сложения/вычитания чтобы они корректно обрабатывались. например, взял дату 12.02.2002 прибавил к ней 33600 часов/дней/месяцев и получил корректную дату в каком то там году с учетом високосных годов и т.д.. т.е. Я хочу узнать есть какие то  библиотечные функции для этого, по идее должны быть, но что то я не нашел.
 
Ну а какие то другие функции для работы со временем кто знает? Самому высчитывать не хотелось бы - не только потому что формул не знаю, (это то можно исправить, кстати если знаете ссылкой поделитесь) но потому что там периодически добавляться коррекционные порции времени, в этом году например секунду добавили, чтоб самому делать такую функцию потребуется всю историю этих поправок поднимать.
 
Форум, что, ли глючит.

Повторим:
1) есть difftime()
2) к _time_t можно спокойно прибавлять нужное количество секунд, а потом преобразовывать.
Проблему leap year решають просто:
  a) если год делиться на 400 без остатка -- 366 дней
  б) если год делиться на 4 и не делиться на 100 без остатка -- 366 дней
в остальных случаях 355 дней
 
Цитата
к _time_t можно спокойно прибавлять нужное количество секунд
Это то понятно, только их нужно сперва высчитать, т.е. например я хочу к произвольной дате прибавить три месяца, месяцы то они разные по длине.. Можно конечно и вручную делать, считать какой месяц сколко в нем дней, правда логика получается неоднозначная, например если к 31 августа прибавить три месяца то должен получится  30 ноября или 1 декабря?
Изменено: lw+ - 10.01.2009 00:28:20
Страницы: 1
Читают тему