我有以下iso8601日期时间字符串 2018-03-12T10:34:15-0200 在我分析之后
2018-03-12T10:34:15-0200
Carbon::parse("2018-03-21T10:34:15-0200", 'UTC')
并保存到mysql数据库 datetime 我的专栏 2018-03-21 10:34:15 所以我失去了 -0200 与utc时区的时差。有什么办法解决这个问题吗?
datetime
2018-03-21 10:34:15
-0200
iih3973s1#
您不需要传递时区作为解析函数的第二个参数。时区已经是日期字符串的一部分。如果需要以utc格式保存日期,只需在解析后将其转换为utc时区,如下所示:
Carbon::parse("2018-03-21T10:34:15-0200")->setTimezone('UTC')
转换日期为:2018-03-21 12:34:15.0 utc(+00:00)
1条答案
按热度按时间iih3973s1#
您不需要传递时区作为解析函数的第二个参数。时区已经是日期字符串的一部分。如果需要以utc格式保存日期,只需在解析后将其转换为utc时区,如下所示:
转换日期为:2018-03-21 12:34:15.0 utc(+00:00)