Laravel 获取 created_at 毫秒时间戳
Laravel Get created_at in Millisecond Timestamp
在 Laravel 5.1 中,我试图以毫秒时间戳获取 created_at
日期以在前端 javascript 中使用。我怎样才能做到这一点?我现在的查询是这样的:
$stats = User::where('created_at', '>=', $range)
->groupBy('date')
->orderBy('date', 'DESC')
->get([
DB::raw('Date(created_at) as date'),
DB::raw('COUNT(*) as value')
])
->toJSON();
我希望 created_at
的输出是这样的:1325356200000
如果您可以使用 DB::raw
,您可以尝试 DB::raw("CONCAT(UNIX_TIMESTAMP(DATE(created_at)), '000000') as date")
。
您可以为 created_at
字段创建自定义 accessor 并将日期时间转换为时间戳。
@Neel 在使用 Laravel 时,您已经有了一个很棒的工具,叫做 Carbon for working with PHP DateTime Class。没有必要为您的目的使用 UNIX_TIMESTAMP
,这不是一个好主意。
您可以在 Laravel documentation that created_at
and updated_at
are by default Carbon instances. So you can get timestamp like this and also much more
中找到
User::findOrFail($id)->created_at->timestamp
如果你得到
"created_at" => "2015-10-07 06:10:49"
结果将像这样使用上面的查询生成时间戳 1444198249
之后您可以根据需要操纵结果。
在 Laravel 5.1 中,我试图以毫秒时间戳获取 created_at
日期以在前端 javascript 中使用。我怎样才能做到这一点?我现在的查询是这样的:
$stats = User::where('created_at', '>=', $range)
->groupBy('date')
->orderBy('date', 'DESC')
->get([
DB::raw('Date(created_at) as date'),
DB::raw('COUNT(*) as value')
])
->toJSON();
我希望 created_at
的输出是这样的:1325356200000
如果您可以使用 DB::raw
,您可以尝试 DB::raw("CONCAT(UNIX_TIMESTAMP(DATE(created_at)), '000000') as date")
。
您可以为 created_at
字段创建自定义 accessor 并将日期时间转换为时间戳。
@Neel 在使用 Laravel 时,您已经有了一个很棒的工具,叫做 Carbon for working with PHP DateTime Class。没有必要为您的目的使用 UNIX_TIMESTAMP
,这不是一个好主意。
您可以在 Laravel documentation that created_at
and updated_at
are by default Carbon instances. So you can get timestamp like this and also much more
User::findOrFail($id)->created_at->timestamp
如果你得到
"created_at" => "2015-10-07 06:10:49"
结果将像这样使用上面的查询生成时间戳 1444198249
之后您可以根据需要操纵结果。