|
time.h ARMCC |
|
|
|
Dec 5 2016, 06:49
|
Частый гость
 
Группа: Свой
Сообщений: 142
Регистрация: 11-01-11
Из: Орел
Пользователь №: 62 159

|
Здравствуйте! Как учитывается временная зона в стандартной библиотеке времени time.h? Все что нашел в файле time.h - упоминание в функции strftime() Цитата %Z is replaced by the timezone name or abbreviation, or by no characters if no time zone is determinable. Попробовал все, что можно вывести, выводит все, кроме временной зоны: Цитата time_t rawtime = 1480685759; // Fri, 02 Dec 2016 13:35:59 GMT struct tm * timeinfo; timeinfo = (struct tm*)localtime(&rawtime); // Convert time_t to tm as UTC time char buffer [80];
strftime (buffer,80,"%I:%M%p",timeinfo); puts (buffer); // 01:35PM
strftime (buffer,80,"%H:%M:%S%p",timeinfo); puts (buffer); // 13:35:59PM
strftime (buffer,80,"%H:%M:%S",timeinfo); puts (buffer); // 13:35:59
strftime (buffer,80,"%d.%m.%y",timeinfo); puts (buffer); // 02.12.16
strftime (buffer,80,"%a_%A",timeinfo); puts (buffer); // Fri_Friday
strftime (buffer,80,"%b_%B",timeinfo); puts (buffer); // Dec_December
strftime (buffer,80,"%c",timeinfo); puts (buffer); // 02 Dec 2016 13:35:59
strftime (buffer,80,"%j",timeinfo); puts (buffer); // 337 (day of the year as a decimal number (001-366))
strftime (buffer,80,"%W",timeinfo); puts (buffer); // 48 (the week number of the year (Monday as the first day))
strftime (buffer,80,"%x",timeinfo); puts (buffer); // 02 Dec 2016
strftime (buffer,80,"%X",timeinfo); puts (buffer); // 13:35:59
strftime (buffer,80,"%y",timeinfo); puts (buffer); // 16 (year without century).
strftime (buffer,80,"%Y",timeinfo); puts (buffer); // 2016 (year with century)
strftime (buffer,80,"%Z",timeinfo); puts (buffer); // ??? Не знаю, как её задавать. Ведь с систем синхронизации будет время UTC+0, а у меня локальное UTC+3. Т.е. где-то должна быть временная зона. Посмотрел у других - для PIC24 (компилятор XC16) в файле time.h есть переменная time_zone: Код extern int time_zone; /* minutes WESTWARD of Greenwich */ /* this value defaults to 0 since with operating systems like MS-DOS there is no time zone information available */
Сообщение отредактировал Pridnya - Dec 5 2016, 06:52
|
|
|
|
|
 |
Ответов
|
Dec 6 2016, 11:50
|
Частый гость
 
Группа: Свой
Сообщений: 142
Регистрация: 11-01-11
Из: Орел
Пользователь №: 62 159

|
Цитата(SasaVitebsk @ Dec 6 2016, 14:24)  Я написал "типа этого". Специально проверял по разным. У меня всё работает. Уже 2 года выпускают изделие. Вообще непонятно как там можно ошибиться. Когда будете писать, контролируйте при GMT 0. А TimeZone это просто смещение. Ошибиться в операции сложения... ну я не знаю. )) Я скриншоты привел для того, чтобы вы в своем онлайн-калькуляторе поискали, почему он пишет, что у меня на компьютере время такое-то, а оно на час отличается. У вас, наверное, ошибка, ведь часовые пояса у меня и у вас совпадают +3. Время на моем компьютере совпадает с "временем сервера", а не с "временем на вашем компьютере".  Или я чего-то не понял? Как прибавить три часа (3*3600) к UnixTime я знаю.
Сообщение отредактировал Pridnya - Dec 6 2016, 11:52
|
|
|
|
|
Dec 6 2016, 19:12
|
Частый гость
 
Группа: Свой
Сообщений: 142
Регистрация: 11-01-11
Из: Орел
Пользователь №: 62 159

|
Цитата(Lagman @ Dec 6 2016, 15:42)  У вас написано, что часовой пояс у вашего компьютера - Калининградское время (зима), а это как раз -1 час т.е. ваш winxp уже давно не знает правильного часового пояса, поищите в инете как это поправить через реестр. Спасибо! Сделал все как здесь описано, теперь время с онлайн-калькулятором совпадает (только секунды не синхронизированы, но это уже другой вопрос).
Эскизы прикрепленных изображений
|
|
|
|
Сообщений в этой теме
Pridnya time.h ARMCC Dec 5 2016, 06:49 KnightIgor Цитата(Pridnya @ Dec 5 2016, 08:49)
Уже ... Dec 5 2016, 08:58 Pridnya Цитата(KnightIgor @ Dec 5 2016, 11:58) Уж... Dec 5 2016, 09:15 esaulenka Вбил в поиск по хелпу кейла слово "timezone... Dec 5 2016, 14:13 Pridnya Цитата(esaulenka @ Dec 5 2016, 17:13) Вби... Dec 5 2016, 19:06  Alechek Цитата(Pridnya @ Dec 6 2016, 00:06) Получ... Dec 6 2016, 04:14   Pridnya Цитата(Alechek @ Dec 6 2016, 07:14) А Вы ... Dec 6 2016, 05:49 SasaVitebsk Я полностью написал свою библиотеку. Там мизер, по... Dec 6 2016, 09:04 Pridnya Цитата(SasaVitebsk @ Dec 6 2016, 12:04) Я... Dec 6 2016, 10:53    Ruslan1 Извините, то есть стандартизированного и документи... Jan 23 2017, 17:30     jcxz Цитата(Ruslan1 @ Jan 23 2017, 20:30) А ещ... Jan 23 2017, 18:00      Ruslan1 jcxz, спасибо!
тоже думаю про похожее, так как... Jan 23 2017, 19:52     SasaVitebsk Цитата(Ruslan1 @ Jan 23 2017, 20:30) Ну х... Jan 24 2017, 10:44 aiwa Цитата(jcxz @ Jan 23 2017, 20:00) По памя... Jan 24 2017, 12:13 Ruslan1 Цитата(aiwa @ Jan 24 2017, 14:03) Добавлю... Jan 24 2017, 12:20  KnightIgor Цитата(Ruslan1 @ Jan 24 2017, 14:20) Для ... Jan 25 2017, 17:44   Сергей Борщ QUOTE (KnightIgor @ Jan 25 2017, 19:44) Х... Jan 25 2017, 17:55    Ruslan1 Цитата(Сергей Борщ @ Jan 25 2017, 19:55) ... Jan 25 2017, 19:00 jcxz Цитата(aiwa @ Jan 24 2017, 15:13) Добавлю... Jan 24 2017, 13:04 aiwa Цитата(Ruslan1 @ Jan 24 2017, 14:20) мне ... Jan 24 2017, 12:26 aiwa Цитата(jcxz @ Jan 24 2017, 15:04) Не помн... Jan 24 2017, 13:37
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|