Невозможно получить дату последней пятницы во время PST в PHP - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь получить дату PST в последнюю пятницу, я получаю 15-11-2018, вот мой код,

public function getPSTCurrentTime($time=null) {
    $dateTime = new \DateTime($time, (new \DateTimeZone('UTC')));  // get current time as UTC/GMT timezone
    $dateTime->setTimezone(new \DateTimeZone('PST'));            // convert time as PST timezone
    return $dateTime;
}

$date = new getPSTCurrentTime('last friday')->format('Y-m-d h:i:s');

Вывод, который я получаю, был 15-11-2018, ноя ожидаю, что выпуск будет 16-11-2018

1 Ответ

0 голосов
/ 19 ноября 2018

Попробуйте,

$pst = new DateTimeZone('America/Los_Angeles');
$last_friday = new DateTime('last friday', $pst); 
echo $last_friday->format('Y-m-d H:i:s'); // "2018-11-16 00:00:00"

После комментария:

Чтобы получить дату на основе текущего часового пояса, используйте date_default_timezone_get

$current_timezone = new DateTimeZone(date_default_timezone_get());
$last_friday = new DateTime('last friday', $current_timezone); 

Вывод:

2018-11-16 00: 00: 00

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...