Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中的时区偏移_Php_Timezone - Fatal编程技术网

php中的时区偏移

php中的时区偏移,php,timezone,Php,Timezone,我有一个时间表数组,需要根据用户的时区动态检查时间的开始和结束。我用date\u default\u timezone\u set()解决了这个问题但我的问题是我无法更改日期,这是一个静态拉取的数据 一些时间是用户当前日期的前一天,例如'America/New_York'到'Asia/Singapore'分别是3/11/2014 11:28 pm到3/12/2014 11:28 am Array ( [timeTable] => Array ( [1]

我有一个时间表数组,需要根据用户的时区动态检查时间的开始和结束。我用
date\u default\u timezone\u 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
)
我想的方法是获取当前用户日前一天或后一天的所有偏移量,然后执行day-1或day+1

如何根据用户的时区设置要更改的时间和日期作为静态数据


有什么建议吗?

您可以使用DateTime类在某个时间修改日期。

或者,由于它已经在unix时间中,只需添加时间即可

$unixtime = 1375125600;
// seconds * minutes * hours
$unixtime += 60 * 60 * 12;
echo date("F j, Y, g:i a", $unixtime);

谢谢!使用unixtime可以节省我的时间。第二个代码正在运行,我刚刚将日期格式更改为日期(“F”);
$unixtime = 1375125600;
// seconds * minutes * hours
$unixtime += 60 * 60 * 12;
echo date("F j, Y, g:i a", $unixtime);