Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 如何以年和月为单位获取UTC时间_Php_Date_Datetime_Utc - Fatal编程技术网

Php 如何以年和月为单位获取UTC时间

Php 如何以年和月为单位获取UTC时间,php,date,datetime,utc,Php,Date,Datetime,Utc,我想知道如何以年和月为单位获得UTC时间? 我从一个网站上截取了UTC日期和时间,但我被要求显示完整的UTC格式,例如(2014-07-31 22:00:00),我现在面临的问题是,我们当前的时间比UTC时间提前1小时 以下是我使用的代码: $date_time = date("Y-m", $time_now) . "-". $wxInfo['DAY'] . " " . $wxInfo['HOUR'] . ":" . $wxInfo['MINUTE'] . ":00"; 如您所见,对于Y-m

我想知道如何以年和月为单位获得UTC时间? 我从一个网站上截取了UTC日期和时间,但我被要求显示完整的UTC格式,例如(2014-07-31 22:00:00),我现在面临的问题是,我们当前的时间比UTC时间提前1小时

以下是我使用的代码:

 $date_time = date("Y-m", $time_now) . "-". $wxInfo['DAY'] . " " . $wxInfo['HOUR'] . ":" . $wxInfo['MINUTE'] . ":00";
如您所见,对于Y-m(年和月),我使用本地时间,但使用UTC网站上的日、小时、分钟值。此$date_时间每半小时更新一次,如果更新时间为“2014-07-31 23:00:00”,则我们当前的时间为“2014-08-01 00:00:00”。因此,我的代码将输出:

    2014-08-31 23:00:00
如何转换为正确的UTC年和月

用于


John Conde建议的解决方案适用于在特定时区显示日期和时间

在您的情况下,我认为您可能希望在整个脚本中将时区设置为UTC,以便对date()和DateTime->format()的所有调用都自动使用UTC。这非常简单:在脚本的开头,写下:

date_default_timezone_set('UTC');

然后,PHP将在任何地方使用UTC作为时区。请参阅手册:

如何测试正确性?我的意思是,我可以更改DateTime()=“2014-08-01 00:00:00”来测试代码,看看是否可以得到正确的月份是07而不是08?只需将日期/时间传递到第一个
DateTime()
作为参数:
$DateTime=new DateTime('2014-08-01 00:00:00')
date_default_timezone_set('UTC');