Re[5]: А мне нравиться !
От: shvonder Россия  
Дата: 20.02.08 15:06
Оценка:
Здравствуйте, astral_marine, Вы писали:

_>Например, есть вот такая реализация функции на ATL, которая определяет количество дней от определенной даты:

_>
_>int getDeltaDaysFromCurrentTime(int year, int month, int day, int hour, int minute, int second)
_>{
_>    return (ATL::COleDateTime::GetCurrentTime() - ATL::COleDateTime(year, month, day, hour, minute, second)).GetTotalDays();
_>}
_>

_>Она всем устаривает, единственный недостаток — не межплатформенное решение.
По-моему, так нет недостатков в boost::date_time !!
using namespace std;
using namespace boost;
using namespace gregorian;
using namespace posix_time;
int getDeltaDaysFromCurrentTime(int year, int month, int day, int hour, int minute, int second)
{
        ptime t   = ptime(date(year, month, day),time_duration( hour, minute, second));
        ptime now = second_clock::local_time();
    return  (t-now).ticks()/hours(24).ticks();
}



_>Тоже, что и boost::date_time, но библиотека должна быть в реализации попроще — как легкий враппер над time_t.

_>Так что, чувствую, прийдется изобретать свой велосипед
Вообще вкусы у всех разные, кому-то нравиться яблоки, кому-то велосипеды
Я считаю, что незачем пользоваться int year,int month,..,int microsec и уж тем более time_t. Нужно сразу использовать ptime и date . Они расчитаны на передачу по значению (размер 2*sizeof(long) и sizeof(long) соответсвенно) + лёгкий доступ к содержимому + фишки вроде вывода в строку + микрсекундная точность + многотысячелеьняя ось времени — кайф. Извините за эмоции, но получаю почти физичекое удовольствие от использования этой библиотеки
Кстати там в документации в разделе Детэйлс-Референсес есть ссылка на другие библиотеки.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.