我将每日倒计时设置为截止日期。代码工作正常。
唯一的问题是,根据PHP Manual,该函数将使用默认时区:
除非在该参数中指定了时区,否则此函数的每个参数都使用默认时区。
我需要能够指定时区。
我在手册中阅读的部分并不完全清楚如何执行此操作。
这是我的代码:
<?php
$date = strtotime("September 30, 2016 11:59 PM");
$remaining = $date - time(); // number of seconds remaining
$days_remaining = floor($remaining / 86400);
$hours_remaining = floor(($remaining % 86400) / 3600); // display final 5 days only
echo "$days_remaining Days Remaining";
?>
有没有一种简单的方法可以将美国太平洋时区整合到上面的代码中?
我的猜测是将其作为第一行代码:
date_default_timezone_set('America/Los_Angeles');
但我不确定这会有效,我也不想更改其他脚本的时区。
我愿意采用其他方法来实现这一目标。
答案 0 :(得分:2)
您可以使用date_default_timezone_get()
因此请保存当前时区,设置新时区,然后进行计算,然后像这样替换原始时区
$save_zone = date_default_timezone_get();
date_default_timezone_set('America/Los_Angeles');
$date = strtotime("September 30, 2016 11:59 PM");
$remaining = $date - time(); // number of seconds remaining
$days_remaining = floor($remaining / 86400);
$hours_remaining = floor(($remaining % 86400) / 3600); // display final 5 days only
echo "$days_remaining Days Remaining";
date_default_timezone_set($save_zone);
列表
答案 1 :(得分:1)
为什么不将时区附加到字符串?
$inputDate = "September 30, 2016 11:59 PM";
$date = strtotime($inputDate . ' +0100');