【问题标题】:Convert Unix Timestamp to Carbon Object将 Unix 时间戳转换为 Carbon 对象
【发布时间】:2017-07-19 13:15:05
【问题描述】:

我在表中有 unix 时间戳,想向使用 Carbon 的用户显示。我该如何实现?

例如

1487663764.99256
2017-02-24 23:23:14.654621

【问题讨论】:

    标签: laravel php-carbon


    【解决方案1】:

    the Carbon documentation 中描述了创建 Carbon 实例的几种方法,链接在项目 README 的底部。相关部分是这样的:

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

    所以你可以这样做:

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

    【讨论】:

    • SO 比文档好。一个想法可能是将文档转换为 SO 格式:)
    【解决方案2】:

    您检查过碳文档吗?我想这就是你要找的:

    Carbon::createFromTimestamp(-1)->toDateTimeString(); 
    

    结帐http://carbon.nesbot.com/docs/#api-instantiation

    【讨论】:

    • 我自己有时会忘记方法名称,所以当我在谷歌搜索“来自 unix 时间戳的碳”并看到这篇文章时,我喜欢为这个人竖起大拇指,我得到“你不能投票你自己的帖子”大声笑:D
    • @surgiie LOL 你意识到的那一刻
    • 其实 Carbon::parse() 也一样
    • 哈哈。感谢您的回答。我可能多次遇到过这个答案.. :-D
    • @miken32 啊哈你是对的,我刚刚确认了。
    【解决方案3】:

    如果您真的喜欢流畅的方法调用,并且在使用构造函数时对多余的行或一对丑陋的括号感到沮丧,那么您会喜欢 parse 方法:

    Carbon::parse(1487663764);
    Carbon::parse('first day of next month');
    

    【讨论】:

      猜你喜欢
      • 2021-06-17
      • 2016-07-12
      • 2013-04-07
      • 2018-07-09
      • 1970-01-01
      • 2023-03-18
      • 2012-12-09
      • 2020-06-28
      • 2020-10-19
      相关资源
      最近更新 更多