将Unix时间戳转换为Carbon对象

107

我在表格里有一个 Unix 时间戳,想要使用 Carbon 显示给用户。我该怎么做?

例如:

1487663764.99256
转换为

2017-02-24 23:23:14.654621
3个回答

228

92
有时我自己也会忘记方法的名称,所以当我谷歌搜索“Unix时间戳转换为Carbon”并找到这篇帖子时,我就会像“耶!”地点赞给这个人,然后看到“你不能给自己的帖子投票”的提示,哈哈:D - surgiie
2
@surgiie 哈哈,那一刻你意识到的时候 - brettwhiteman
1
实际上,Carbon::parse() 执行的是相同的操作。 - ymakux
1
哈哈,谢谢你的回答。我可能已经看到这个答案好几次了.. :-D - eHussain
@miken32 哈哈,你说得对,我刚刚确认了。 - zeros-and-ones

33

有几种方法可以创建 Carbon 实例,这些方法在Carbon 文档中有描述,该文档链接位于项目 README 的底部。相关部分如下:

最后的两个 create 函数是用于处理 Unix 时间戳的。第一个将创建一个与给定时间戳相等的 Carbon 实例,并将时区设置为当前时区或默认时区。第二个函数 createFromTimestampUTC() 则不同,它的时区将保持 UTC(GMT)。第二个函数的作用类似于 Carbon::createFromFormat('@'.$timestamp),但我只是让它更明确一些。负时间戳也是允许的。

所以你可以这样做:

$carbon = Carbon::createFromTimestamp($dbResult['SomeTimestampColumn']);

1
SO比文档更好。一个想法是将文档转换为SO格式 :) - Jay Chakra

4
如果您真的喜欢流畅的方法调用,并且在使用构造函数时需要额外的行或丑陋的括号而感到沮丧,那么您会喜欢parse方法:
Carbon::parse(1487663764);
Carbon::parse('first day of next month');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接