Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2011, 15:12   #1
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию Разница в часовых поясах

Доброго времени суток всем!

Возникла необходимость вытащить разницу между локальным временем (так называемым Wall Clock Time) и временем UTC.
Нечто вроде GetTimeZoneInformation из <windows.h>, но под Линукс.
Копал библиотеку Boost.Date_Time, но там, как я понял, эту разницу надо сначала самому и указывать -- либо напрямую, либо указывая часовой пояс.
Мне же необходимо вытаскивать ее системно -- из настроек рабочей станции.
Буду благодарен за идеи...
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 29.03.2011, 15:45   #2
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Спасибо, уже нашел -)

<sys/timeb.h>

Код:
extern int ftime (struct timeb *__timebuf);

struct timeb
  {
    time_t time;		        /* Seconds since epoch, as from `time'.  */
    unsigned short int millitm; 	/* Additional milliseconds.  */
    short int timezone;		        /* Minutes west of GMT.  */
    short int dstflag;		        /* Nonzero if Daylight Savings Time used.  */
  };
В очередной раз убеждаюсь, что озвученный вопрос -- половина пути к правильному ответу -)


update

Все оказалось еще проще -- в структуре tm есть поле tm_gmtoff, которое в C++ Reference почему-то забыли упомянуть.
Оно хранит интервал времени в секундах, который надо прибавить к UTC, чтобы получить локальное время.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062

Последний раз редактировалось Mandrivnyk; 29.03.2011 в 16:30. Причина: update
Mandrivnyk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод часовых поясов VadikV PHP 2 21.02.2011 14:47
Разница времени Djem1991 PHP 4 08.10.2009 13:05
Разница дат Ver0nica Общие вопросы Delphi 1 30.05.2009 18:38
помогите с задачей о часовых поясах!!... david25 Microsoft Office Excel 13 07.05.2009 00:13
в чём разница? Dimarik Общие вопросы C/C++ 1 25.04.2009 21:27