我有以下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
小时差。
任何想法如何正确解决问题?
答案 0 :(得分:2)
您无需将时区作为第二个参数来解析函数。时区已经是日期字符串的一部分。如果您需要将日期保存为UTC,只需在解析后将其转换为UTC时区即可:
Carbon::parse("2018-03-21T10:34:15-0200")->setTimezone('UTC')
转换日期为:2018-03-21 12:34:15.0 UTC(+00:00)