【问题标题】:How to get Current Timestamp from Carbon in Laravel 5如何在 Laravel 5 中从 Carbon 获取当前时间戳
【发布时间】:2015-12-19 14:44:25
【问题描述】:

我想在 laravel 5 中获取当前时间戳,我已经这样做了-

$current_time = Carbon\Carbon::now()->toDateTimeString();

我遇到错误-“找不到碳”-

我能做什么?

有人可以帮忙吗?

【问题讨论】:

    标签: php laravel laravel-5 php-carbon


    【解决方案1】:

    如果你想要日期时间字符串,你可以试试这个:

    use Carbon\Carbon;
    $current_date_time = Carbon::now()->toDateTimeString(); // Produces something like "2019-03-11 12:25:00"
    

    如果你想要时间戳,你可以试试:

    use Carbon\Carbon;
    $current_timestamp = Carbon::now()->timestamp; // Produces something like 1552296328
    

    See the official Carbon documentation here.

    【讨论】:

      【解决方案2】:

      对于 Laravel 5.5 或更高版本,只需使用内置帮助器

      $timestamp = now();
      

      如果你想要一个 unix 时间戳,你也可以试试这个:

      $unix_timestamp = now()->timestamp;
      

      【讨论】:

      • 返回一个unix时间戳。只有now() 将以典型的2018-10-05 17:55:08 格式返回。
      • @futzlarson now() 实际上返回一个 Carbon 对象。如果您在 Blade 模板中输出它,它将被呈现为字符串,但它基本上是一个完整的、复杂的对象。
      • 是的。出于我的目的,它始终呈现为字符串。
      【解决方案3】:

      您需要在您的 carbon 类之前添加另一个 \ 以在根命名空间中启动。

      $current_time = \Carbon\Carbon::now()->toDateTimeString();
      

      另外,请确保 Carbon 已加载到您的 composer.json

      【讨论】:

      • 如何在作曲家中加载碳?
      • 通常 Laravel 会在你的 composer.json 文件中自动添加碳。但是,如果您想确定,请尝试通过在应用程序根目录的控制台中键入 composer require nesbot/carbon 来安装它。
      【解决方案4】:

      Laravel 5.2

          use Carbon\Carbon; // You need to import Carbon
          $current_time = Carbon::now()->toDayDateTimeString(); // Wed, May 17, 2017 10:42 PM
          $current_timestamp = Carbon::now()->timestamp; // Unix timestamp 1495062127
      

      此外,这是如何在刀片中更改给定日期和时间的日期时间格式:

      {{\Carbon\Carbon::parse($dateTime)->format('D, d M \'y, H:i')}}
      

      Laravel 5.6

      $current_timestamp = now()->timestamp;
      

      【讨论】:

        【解决方案5】:

        可能有点晚,但您可以使用辅助函数 time() 来获取当前时间戳。我尝试了这个功能,它完成了工作,不需要类:)。

        你可以在https://laravel.com/docs/5.0/templates的官方文档中找到这个

        问候。

        【讨论】:

          【解决方案6】:

          在 Class 声明之前使用 \,您正在调用根命名空间:

          $now = \Carbon\Carbon::now()->timestamp;
          

          否则它将在类开头声明的当前命名空间中查找它。 其他解决方案是使用它:

          use Carbon\Carbon
          $now = Carbon::now()->timestamp;
          

          你甚至可以给它分配一个别名:

          use Carbon\Carbon as Time;
          $now = Time::now()->timestamp;
          

          希望对你有帮助。

          【讨论】:

            【解决方案7】:
            date_default_timezone_set('Australia/Melbourne');   
            $time = date("Y-m-d H:i:s", time()); 
            

            【讨论】:

            • 虽然这段代码可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
            • 请注意此代码与 Laravel 框架无关,此代码可以工作但对这个问题没有帮助,正如@Shree 所写,添加解释会很好。
            猜你喜欢
            • 2011-02-16
            • 1970-01-01
            • 2017-02-15
            • 1970-01-01
            • 2021-05-10
            • 2021-12-04
            • 2018-10-18
            • 1970-01-01
            • 2018-09-26
            相关资源
            最近更新 更多