Как получить время в формате Gmt
Формат GMT - это, например, такое:
Код:
Fri, 17-Mar-2006 06:27:38 GMT
Интересует именно стандартная библиотека функций, чтобы все работало и в Windows, и в Unix.
Заранее спасибо!
Цитата:
Originally posted by Flex25
Может есть какая-нибудь функция в СТАНДАРТНОЙ библиотеке C++ для получения времени в формате GMT?
Формат GMT - это, например, такое:
Интересует именно стандартная библиотека функций, чтобы все работало и в Windows, и в Unix.
Заранее спасибо!
Может есть какая-нибудь функция в СТАНДАРТНОЙ библиотеке C++ для получения времени в формате GMT?
Формат GMT - это, например, такое:
Код:
Fri, 17-Mar-2006 06:27:38 GMT
Интересует именно стандартная библиотека функций, чтобы все работало и в Windows, и в Unix.
Заранее спасибо!
Смотри формат функций printf() и Format, они это могут
Код:
struct tm *time_now;
time_t secs_now;
char str[80];
tzset();
time(&secs_now);
time_now = gmtime(&secs_now);
strftime(str, 80, "%a, %d-%b-%Y %H:%M:%S GMT", time_now);
cout << str;
time_t secs_now;
char str[80];
tzset();
time(&secs_now);
time_now = gmtime(&secs_now);
strftime(str, 80, "%a, %d-%b-%Y %H:%M:%S GMT", time_now);
cout << str;
Вопрос: а как теперь из полученного времени отнять, к примеру, один час. Или как добавить один час к полученному времени?
Цитата:
Originally posted by Flex25
Вопрос: а как теперь из полученного времени отнять, к примеру, один час. Или как добавить один час к полученному времени?
Вопрос: а как теперь из полученного времени отнять, к примеру, один час. Или как добавить один час к полученному времени?
Посмотри CTime и СTimeSpan
Код:
// example for CTime::operator +, -
CTime t1( 1999, 3, 19, 22, 15, 0 ); // 10:15PM March 19, 1999
CTime t2( 1999, 3, 20, 22, 15, 0 ); // 10:15PM March 20, 1999
CTimeSpan ts = t2 - t1; // Subtract 2 CTimes
ASSERT( ts.GetTotalSeconds() == 86400L );
ASSERT( ( t1 + ts ) == t2 ); // Add a CTimeSpan to a CTime.
ASSERT( ( t2 - ts ) == t1 ); // Subtract a CTimeSpan from a Ctime.
CTime t1( 1999, 3, 19, 22, 15, 0 ); // 10:15PM March 19, 1999
CTime t2( 1999, 3, 20, 22, 15, 0 ); // 10:15PM March 20, 1999
CTimeSpan ts = t2 - t1; // Subtract 2 CTimes
ASSERT( ts.GetTotalSeconds() == 86400L );
ASSERT( ( t1 + ts ) == t2 ); // Add a CTimeSpan to a CTime.
ASSERT( ( t2 - ts ) == t1 ); // Subtract a CTimeSpan from a Ctime.
Спаибо, но я почитал документацию и понял, что CTime() и CTimeSpan() - Это чисто Майкрософтские функции из MFC. Как я понимаю, в Unix Эти функции работать не будут, а мне нужно, чтобы и в Unix работало :(