碰到一个场景,得到一串输入时间格式,但是需要转换成我本地的时间,输入的时间格式是 UTC 时间格式:yyyy-MM-ddTHH:mm:ss.SSSZ
yyyy 表示年份四位MM 表示月份两位表示,01 ~ 12dd 表示多少号,01 ~ 31T 表示日期个时间的分隔符HH 表示小时 01 ~ 24mm 表示分钟 01 ~ 60ss 表示秒 01 ~ 60SSS 表示完整毫秒数,为三位小数。Z 是表示时区,如下面这几种时间格式:
2018-01-01T00:00:00.000Z 默认使用 0 时区
2018-01-01T00:00:00.000+0800 东八区
2018-01-01T12:00:00.000+0100,因为给定的时间 +0100时区,而我在的是 +0800 时区,所以最后转换成我本地的时间就变成 2018-01-01 19:00:00.000,比输入多七个小时。<?php
use Carbon\Carbon;
$input = 2018-01-01T12:00:00.000+0100;
// 实例化一个 Carbon 对象
$carbon = Carbon::make($input);
// 转换时区
$carbon->setTimezone('PRC');
// 输出查看
echo $carbon->toDateTimeString();