基于时区的 Unix 时间戳的 Carbon 对象

Carbon object to Unix timestamp based on timezone

我有一个格式为'Y-m-d H:i:s'的日期时间字符串,日期时间值为'2018-01-30 07:11:21'.

$carbon_obj = Carbon::createFromFormat('Y-m-d H:i:s' , '2018-01-30 07:11:21','America/Chicago');

如何从这个碳对象中获取 Unix 时间戳?

只需在您的代码后面添加 timestamp

$carbon_obj = Carbon::createFromFormat('Y-m-d H:i:s' , '2018-01-30 07:11:21','America/Chicago')->timestamp;

$carbon_obj = Carbon::createFromFormat('Y-m-d H:i:s' , '2018-01-30 07:11:21','America/Chicago');
$carbon_obj->timestamp;

如果您遇到 data missing 错误。缺少它是您传递给它的数据,而不是完整的日期格式。

试试这个。

$timestp = Carbon::createFromFormat('Y-m-d H:i:s', Carbon::parse($trans['transaction_datetime']) ,Setting::get('timezone'))->timestamp;

您可以使用 Carbon::shiftTimezone 更改时区而不更改日期和时间。

$dt = Carbon::parse('2020-03-27');
dump($dt);   //2020-03-27 00:00:00.0 Asia/Kolkata (+05:30)
dump($dt->shiftTimezone('utc'));  //2020-03-27 00:00:00.0 UTC (+00:00)