首页 > 解决方案 > 用 php Carbon 转换 javascript 时间会返回奇怪的时间?

问题描述

我在创建/更新我的 cookie 时使用 javascript 设置我的时间。

// get current time
let d = new Date();
let time = d.getTime();

哪个变量time成为这个字符串...

1586186947954

上面的数字应该是16:29 GMT 6 April 2020


但是当我用计算这个数字时......

use Carbon\Carbon;
$updated = Carbon::parse($cart['updated']['time']);

这是退货...

Carbon\Carbon Object
(
    [date] => 52234-04-07 05:32:34.000000
    [timezone_type] => 1
    [timezone] => +00:00
)

这是有原因的。分钟和日期都近在咫尺。


Asia/Dubai如果无论如何我都能让 Carbon 返回正确的时间,我也会尝试在时区输出这个时间戳。

任何想法都会非常感谢。

标签: timetimezonephp-carbon

解决方案


parse方法用于解析更复杂的字符串,因此它会误解您传递的值。

相反,您应该像这样构造对象:

Carbon::createFromTimestampMs(1586186947954, 'Asia/Dubai')

推荐阅读