powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP, работа с часовыми поясами
7 сообщений из 7, страница 1 из 1
PHP, работа с часовыми поясами
    #38899619
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
2.
3.
4.
5.
6.
$date = new DateTime("2015-03-10T11:01:02", new DateTimeZone('Etc/GMT+5'));
$date->setTimezone(new DateTimeZone('Etc/GMT+3'));
print $date->format('Y-m-d H:i:s') . "\n";

// выводит:
// 2015-03-10 13:01:02



Я что-то сделал неправильно?
Или логика работы с часовыми поясами другая?
Мне нужно приходящее время (GMT+5) перевести в свой часовой пояс (GMT+3).
________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
PHP, работа с часовыми поясами
    #38899711
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
$now = new DateTime(null);
$tz = $now->getTimezone();
print $now->format('Y-m-d H:i:s P T e') . "\n";
$now->setTimezone(new DateTimeZone('Etc/UTC'));
print $now->format('Y-m-d H:i:s P T e') . "\n";
$now->setTimezone($tz);
print $now->format('Y-m-d H:i:s P T e') . "\n";
$now->setTimezone(new DateTimeZone('Etc/GMT+3'));
print $now->format('Y-m-d H:i:s P T e') . "\n";


Выводит:
Код: plaintext
1.
2.
3.
4.
2015-03-10 12:12:31 +03:00 MSK Europe/Moscow
2015-03-10 09:12:31 +00:00 UTC Etc/UTC
2015-03-10 12:12:31 +03:00 MSK Europe/Moscow
2015-03-10 06:12:31 -03:00 GMT+3 Etc/GMT+3
То есть получается, что часовой пояс GMT+3 в PHP учитывается с отрицательным смещением, а не с положительным.
...
Рейтинг: 0 / 0
PHP, работа с часовыми поясами
    #38899755
anvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так и должно быть

https://www.ietf.org/timezones/data/etcetera
...
Рейтинг: 0 / 0
PHP, работа с часовыми поясами
    #38899762
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.,

http://php.net/manual/ru/timezones.others.php
ну неужели трудно прочесть мануал?
на каждый чих - тему создавать не надоело?
...
Рейтинг: 0 / 0
PHP, работа с часовыми поясами
    #38899764
anvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И, да. Я кажется вам же уже советовал хотя бы иногда обращаться к документации.

http://php.net/manual/ru/timezones.others.php

автор Внимание
Пожалуйста, не используйте описанные здесь временные зоны (кроме UTC), они существуют только по причинам обратной совместимости.

Внимание
Если вы игнорируете вышестоящее предупреждение, то учтите, что база данных временных зон IANA, которая используется для временных зон PHP, поддерживает использование POSIX-стиля знаков, что подразумевает резервирование Etc/GMT+n и Etc/GMT-n от общего использования.
Например, временная зона на 8 часов вперед от GMT, используемая в Китае, Западной Австралии и других местах, в действительности записана в базе данных как Etc/GMT-8, а не как Etc/GMT+8, который вы могли ожидать.
Настоятельно рекомендуется использовать правильные временные зоны, такие как Asia/Shanghai или Australia/Perth для вышеприведенного примера.


В своем коде вы успешно проигнорировали первое предупреждение, при этом не прочитав второе.
...
Рейтинг: 0 / 0
PHP, работа с часовыми поясами
    #38899865
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну.... человек конечно любитель не читать,


НО данная тема плохо подходит для фразы "читать документацию" -ибо целиком от корки до корки никто не читает. вряд ли ктото знающий регулярки и начав работать с пхп перечитывал документацию про регулярки на пхп нет - как пример. тоже с часовыми поясами. и таки да - сдесь не очевидное. даже в стандарте написано, ... мы используем шкалу на запад от гринвича, не смотря на то что большинство!!! людей ожидают противоположное.

тоесть стандарт этот принят таким, но признаёться тот факт что большинство его интуитивно поймут наоборот.

это как начать писать весс продуктовых товаров брутто вместо нетто. формально, слово брутто будет написано мелкими буквами на товаре(но не на ценнике) но большинство людей будет путаться - ожидая что надпись на ценнике молоко 1000гр ххх рублей, означает что это плата за 900гр молока, а не за 900 + 100 гр стеклянная бутылка.
...
Рейтинг: 0 / 0
PHP, работа с часовыми поясами
    #38899911
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453НО данная тема плохо подходит для фразы "читать документацию" -ибо целиком от корки до корки никто не читает. вряд ли ктото знающий регулярки и начав работать с пхп перечитывал документацию про регулярки на пхп нет - как пример. тоже с часовыми поясами. и таки да - сдесь не очевидное. даже в стандарте написано, ... мы используем шкалу на запад от гринвича, не смотря на то что большинство!!! людей ожидают противоположное.
от корки до корки читать и не нужно.
просто если чтото делаешь новое, и неполучается, или получается но результат странный - ну открой доки ИМЕННО по этой теме и пробегись глазами. но нет. надо создать тему, и ждать неделю пока ктонить не ткнёт носом в мануал.

я с подобной проблемой не сталкивался, но почемуто за минут 5 нашел в доках где собака порылась. и многие так бы сделали. но не Alibek B. ))
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP, работа с часовыми поясами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]