【发布时间】:2018-11-28 04:59:28
【问题描述】:
我正在尝试使用 Carbon 或 DateTime 类获取当前时间戳 我得到错误的日期但是当我使用 date() 函数时它返回正确的日期 我在 win server 2012 上运行代码 这是我的代码
dd([
'Carbon::now()->format("Y-m-d H:i:s P")' => Illuminate\Support\Carbon::now()->format('Y-m-d H:i:s P'),
'DateTime()->format("Y-m-d H:i:s P")' => (new DateTime())->format('Y-m-d H:i:s P'),
'date("Y-m-d H:i:s P")' => date('Y-m-d H:i:s P'),
'date("Y-m-d H:i:s P",microtime(true))' => date("Y-m-d H:i:s P", microtime(true)),
'date("Y-m-d H:i:s P", time())' => date("Y-m-d H:i:s P", time()),
'Carbon::now()->getTimestamp()' => Illuminate\Support\Carbon::now()->getTimestamp(),
'microtime()' => microtime(true),
'time()' => time(),
]);
这是我得到的输出
[
"Carbon::now()->format("Y-m-d H:i:s P")" => "2018-06-25 22:41:59 +03:00"
"DateTime()->format("Y-m-d H:i:s P")" => "2018-06-25 22:41:59 +03:00"
"date("Y-m-d H:i:s P")" => "2018-06-19 11:59:22 +03:00"
"date("Y-m-d H:i:s P",microtime(true))" => "2018-06-25 22:41:59 +03:00"
"date("Y-m-d H:i:s P", time())" => "2018-06-19 11:59:22 +03:00"
"Carbon::now()->getTimestamp()" => 1529955719
"microtime()" => 1529955719.4257
"time()" => 1529398762
]
服务器时间与日期函数的值相同
【问题讨论】:
-
您好,您是在本地服务器上执行此操作的,如果是,您检查过服务器日期时间吗?
-
它不在本地服务器上
-
date("Y-m-d H:i:s P", microtime(true))returns DateTime() 的确切时间。错了吗? -
date("Y-m-d H:i:s P", microtime(true)) 与 DateTime 类一样返回错误的日期
-
总而言之,问题可能是由于世界时间单调值的旧错误(php.net/manual/ru/function.microtime.php 的杰米评论)。你能检查一下他在说什么,是否适用于你的服务器?
标签: php datetime unix-timestamp php-carbon