Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/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 将Iso 8601字符串解析为UTC日期并记录到db_Php_Mysql_Utc_Php Carbon_Iso8601 - Fatal编程技术网

Php 将Iso 8601字符串解析为UTC日期并记录到db

Php 将Iso 8601字符串解析为UTC日期并记录到db,php,mysql,utc,php-carbon,iso8601,Php,Mysql,Utc,Php Carbon,Iso8601,我有以下Iso8601日期时间字符串2018-03-12T10:34:15-0200,在我解析它之后 Carbon::parse("2018-03-21T10:34:15-0200", 'UTC') 并将其保存到mysql dbdatetime列中,我有2018-03-21 10:34:15,因此我丢失了与UTC时区的-0200小时差 您知道如何正确地解决它吗?您不需要将时区作为第二个参数传递给解析函数。时区已经是日期字符串的一部分。如果需要以UTC格式保存日期,只需在解析后将其转换为UTC时

我有以下Iso8601日期时间字符串
2018-03-12T10:34:15-0200
,在我解析它之后

Carbon::parse("2018-03-21T10:34:15-0200", 'UTC')
并将其保存到mysql db
datetime
列中,我有
2018-03-21 10:34:15
,因此我丢失了与UTC时区的
-0200
小时差


您知道如何正确地解决它吗?

您不需要将时区作为第二个参数传递给解析函数。时区已经是日期字符串的一部分。如果需要以UTC格式保存日期,只需在解析后将其转换为UTC时区,如下所示:

Carbon::parse("2018-03-21T10:34:15-0200")->setTimezone('UTC')

转换日期为:2018-03-21 12:34:15.0 UTC(+00:00)

非常感谢