【问题标题】:Create date - Carbon in Laravel创建日期 - Laravel 中的 Carbon
【发布时间】:2016-04-30 11:48:46
【问题描述】:

我开始阅读有关Carbon 的信息,但似乎不知道如何创建carbon date

在文档中说你可以;

Carbon::createFromDate($year, $month, $day, $tz); Carbon::createFromTime($hour, $minute, $second, $tz); Carbon::create($year, $month, $day, $hour, $minute, $second, $tz);

但是,如果我只收到 date 之类的 2016-01-23 怎么办?在创建carbon 日期之前,我是否必须剥离每个部分并将其提供给carbon?或者我收到time 就像11:53:20??

我正在处理动态日期和时间,编写代码来分隔时间或日期的部分感觉不对。

任何帮助表示赞赏。

【问题讨论】:

    标签: php laravel laravel-5 php-carbon


    【解决方案1】:

    您可以使用以下两种方法之一从该日期字符串创建 Carbon 实例:

    1. 创建一个新实例并将字符串传递给构造函数:

    // From a datetime string
    $datetime = new Carbon('2016-01-23 11:53:20');
    
    // From a date string
    $date = new Carbon('2016-01-23');
    
    // From a time string
    $time = new Carbon('11:53:20');
    

    2.使用createFromFormat方法:

    // From a datetime string
    $datetime = Carbon::createFromFormat('Y-m-d H:i:s', '2016-01-23 11:53:20');
    
    // From a date string
    $date = Carbon::createFromFormat('Y-m-d', '2016-01-23');
    
    // From a time string
    $time = Carbon::createFromFormat('H:i:s', '11:53:20');
    

    Carbon 类只是扩展了 PHP DateTime 类,这意味着您可以使用所有相同的方法,包括相同的 constructor 参数或 createFromFormat 方法。

    【讨论】:

    • 我也可以使用选项 1 吗?
    • 当然可以。构造函数接受具有根据Supported Date and Time Formats 文档的有效格式的任何日期和/或时间字符串。所以它也可以使用像 11:53:20 这样的时间戳。
    • 一如既往地感谢您的帮助。 carbon 有没有四舍五入的方法?或者在我添加分钟等后如何使用carbon 进行汇总
    • 您能否提供一个起始值的示例以及您希望它舍入到的值?
    • 任何时间价值。就像'11:53:20'...我想四舍五入到最近的5,例如'11:55:00'。在我的旧代码中,我使用的是ceil
    猜你喜欢
    • 2021-10-24
    • 2016-12-01
    • 1970-01-01
    • 2018-07-04
    • 2018-03-31
    • 2021-11-30
    • 1970-01-01
    • 2017-01-27
    • 1970-01-01
    相关资源
    最近更新 更多