Carbon Timezone 和格式不能一起工作
Carbon Timezone and format not working together
这是我的代码
$time = '2019-12-16T10:14:35.000000Z';
$var = new Carbon($time);
$var = $var->setTimezone('Asia/Dhaka')->format('Y-m-d H:i:s');
我期待的return是'2019-12-16 4:14:35'
return 我得到'2019-12-16 10:14:35'
如果我删除格式功能,我将得到正确的时区 '2019-12-16T4:14:35.000000Z'
很明显,setTimeZone 不适用于 Format。我在这里错过了什么?
我知道可能存在重复问题,但 none 的解决方案似乎对我有用。
如果您的源时间戳总是在 UTC
时区。
所以将您的代码更改为:
$var = Carbon::createFromFormat('Y-m-d H:i:s', $timestamp, 'UTC');
$var = $var->setTimezone('Asia/Dhaka');
你可以这样设置时区
$time = '2019-12-16T10:14:35.000000Z';
$var = Carbon::createFromFormat('Y-m-d H:i:s', $time, 'Asia/Dhaka');
试试这个:
$var = Carbon::createFromFormat('Y-m-d H:i:s', $timestamp, 'Europe/Madrid');
$var = $var->setTimezone('Asia/Dhaka');
这是我的代码
$time = '2019-12-16T10:14:35.000000Z';
$var = new Carbon($time);
$var = $var->setTimezone('Asia/Dhaka')->format('Y-m-d H:i:s');
我期待的return是'2019-12-16 4:14:35'
return 我得到'2019-12-16 10:14:35'
如果我删除格式功能,我将得到正确的时区 '2019-12-16T4:14:35.000000Z'
很明显,setTimeZone 不适用于 Format。我在这里错过了什么?
我知道可能存在重复问题,但 none 的解决方案似乎对我有用。
如果您的源时间戳总是在 UTC
时区。
所以将您的代码更改为:
$var = Carbon::createFromFormat('Y-m-d H:i:s', $timestamp, 'UTC');
$var = $var->setTimezone('Asia/Dhaka');
你可以这样设置时区
$time = '2019-12-16T10:14:35.000000Z';
$var = Carbon::createFromFormat('Y-m-d H:i:s', $time, 'Asia/Dhaka');
试试这个:
$var = Carbon::createFromFormat('Y-m-d H:i:s', $timestamp, 'Europe/Madrid');
$var = $var->setTimezone('Asia/Dhaka');