#php #wordpress #datetime #timestamp-with-timezone
#php #wordpress #дата и время #timestamp-with-timezone
Вопрос:
Я написал свой первый плагин WordPress, который просматривает файл на сервере и возвращает временную метку. Моя проблема в том, что временная метка сервера равна 8 утра, но возвращаемое значение равно 13:00. Как я могу настроить отметку времени в PHP, чтобы она соответствовала реальному времени? Вот код, который я использовал:
function wp_file_last_updated( $atts ){
$a = shortcode_atts ( array(
'url' => 'No File Specified'
), $atts );
$filename = $a['url'];
if (file_exists($filename)) {
return "$filename was last modified: " . date ("F d Y H:i:s.", filemtime($filename));
}
}
add_shortcode('filedate', 'wp_file_last_updated');
?>
Ответ №1:
Вы должны установить часовой пояс в настройках WordPress
или
Установите часовой пояс по умолчанию в начале вашего php-файла с помощью следующей функции php http://php.net/manual/en/function.date-default-timezone-set.php
Комментарии:
1. Часовой пояс wordpress не помог, но добавление функции PHP сделало свое дело! Спасибо за вашу помощь.
Ответ №2:
date_default_timezone_set("set supported time zone");
$date=date("Y-m-d H:i:s");
Поддерживаемые часовые пояса перечислены на http://php.net/manual/en/timezones.php
Комментарии:
1. Спасибо! Это исправлено .. я ценю, что вы нашли время, чтобы помочь.
Ответ №3:
Я нахожусь на Amazon Lightsail, и изменение часового пояса из области администрирования WordPress у меня не работает. Если вы используете Lightsail, вам нужно будет изменить часовой пояс на уровне сервера.
// list all the timezones
timedatectl list-timezones
// change to the your choice of timezone
sudo timedatectl set-timezone America/Vancouver
// display the current selected timezone
timedatectl