我有一个时间表数组,我需要根据用户的时区动态检查时间的开始和结束。我已使用date_default_timezone_set();
解决了问题,但我的问题是我无法更改静态拉取数据的日期。
有些时间是用户当前日期的前一天,例如'America/New_York'
到'Asia/Singapore'
分别为3/11/2014 11:28 pm
到3/12/2014 11:28 am
。
Array
(
[timeTable] => Array
(
[1] => Array
(
[0] => stdClass Object
(
[id] => 519
[user_id] => 213
[day] => 1
[time_slot_id] => 1
[start] => 1375099200
[end] => 1375101300
)
[1] => stdClass Object
(
[id] => 520
[user_id] => 213
[day] => 1
[time_slot_id] => 12
[start] => 1375125600
[end] => 1375127700
)
)
)
[sameDayCount] => 2
)
我想到的方法是获得当前用户日前一天或前一天的所有偏移,并且每天 - 1天或1天+ 1。
如何根据用户所在的时区将时间和日期设置为静态数据?
有什么建议吗?
答案 0 :(得分:2)
您可以使用DateTime类在特定时间修改日期。 http://us3.php.net/manual/de/class.datetime.php
$datetime = new DateTime();
$datetime->setTimeStamp('1375125600');
$datetime->modify('+12 hours');
或者因为它已经处于unix时间,所以只需添加时间。
$unixtime = 1375125600;
// seconds * minutes * hours
$unixtime += 60 * 60 * 12;
echo date("F j, Y, g:i a", $unixtime);