Установите часовой пояс при использовании strftime ()

У меня проблемы с отображением правильного смещения часового пояса при переводе объекта datetime с STRFTIME ()

Это объект, с которым я работаю (имя: $match_dateobject):

DateTime Object
(
[date] => 2014-09-17 10:45:00
[timezone_type] => 1
[timezone] => -08:00
)

Я хочу показать это в следующем формате, адаптированном к часовому поясу Мадрида (GMT + 2) и с голландскими названиями дней и месяцев: «Среда 17 сентября 20:45»

Это работает для английской версии:

$match_dateobject->setTimezone(new DateTimeZone('Europe/Madrid'));
echo $match_dateobject->format('l j F H:i');

=> Result: Wednesday 17 September 20:45

Но когда я переводю названия дней / месяцев с помощью strftime (), часовой пояс игнорируется:

$match_dateobject->setTimezone(new DateTimeZone('Europe/Madrid'));
$timestamp = $match_dateobject->format('U');
setlocale(LC_TIME, 'nl_NL.UTF-8');
echo strftime("%A %e %B %G %H:%M", $timestamp );

=> Result: woensdag 17 september 2014 18:45

Обратите внимание, что он показывает часовой пояс GMT по умолчанию вместо Европы / Мадрида (GMT + 2).

Есть ли способ установить часовой пояс при работе с strftime ()?

1

Решение

Да уж,

 date_default_timezone_set('Europe/Madrid');
3

Другие решения

просто добавьте 1 функцию date_default_timezone_set (); в котором проходят часовой пояс, такой как «America / New_York», вы можете узнать свой часовой пояс на https://www.w3schools.com/php/php_ref_timezones.asp

date_default_timezone_set("America/New_York");
echo strftime("%A %e %B %G %H:%M", time() );
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector