在 Laravel 中获取当前日期、时间和日期

Posted

技术标签:

【中文标题】在 Laravel 中获取当前日期、时间和日期【英文标题】:Getting current date, time, and day in Laravel 【发布时间】:2015-03-22 10:47:01 【问题描述】:

我需要使用 Laravel 获取当前日期、时间和日期。

我尝试回显$ldate = new DateTime('today');$ldate = new DateTime('now');

但它总是返回 1。

如何获取当前日期、时间和日期?

【问题讨论】:

我认为主要问题是你正在做echo $now = new DateTime();,而你应该只设置没有echo的变量(即做$now = new DateTime();),然后当你想回显它您需要使用format() 方法(docs):echo $now->format('Y-m-d'); 【参考方案1】:

Laravel 附加了 Carbon 依赖项。

Carbon::now(),如有必要,包括 Carbon\Carbon 命名空间。

编辑(用法和文档)

假设我想检索日期和时间并将其输出为字符串。

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

这将以Y-m-d H:i:s 的通常格式输出,有许多预先创建的格式,您不太可能需要再次使用 Carbon 处理 php 日期时间字符串。

文档: https://github.com/briannesbitt/Carbon

Carbon 的字符串格式: http://carbon.nesbot.com/docs/#api-formatting

【讨论】:

使用碳\碳;是命名空间声明 如何在 laravel 5 中从 2016/2/20 中提取日期名称?请回复 @AngularAngularAngular 使用Carbon::now()->format('d-m-Y') 了解您的 Carbon 文档。没有人会为你编写代码。答案提供了 OP 的要求。【参考方案2】:

试试这个,

$ldate = date('Y-m-d H:i:s');

【讨论】:

@Chennai 为什么需要它来执行“laravel”方式? Laravel 是“php 方式”:) 当您可以访问像 Carbon 这样经过全面测试的类时,使用它们总是有用的。既然已经有一个强大的实现可以满足您的需求,为什么还要重新发明***? @Everon 使用内置核心功能并不是重新发明***。人们总是想把事情复杂化:S 您只需在全局配置中设置正确的时区即可,与 carbon 的工作方式相同。用“laravel 方式”做事很傻,因为它看起来更花哨?这个\Carbon\Carbon::now()->format('d.m.Y');date('d.m.Y') 好多少? 谢谢 所以,date('Y-m-d H:i:s') 不会受到伤害吧?【参考方案3】:

Php 有一个运行良好的日期函数。使用 laravel 和刀片,您可以使用它而无需丑陋的 <?php echo 标签。例如,我在.blade.php 文件中使用以下内容...

Copyright ©  date('Y') 

... Laravel/blade 将其转换为当前年份。如果你想要日期时间和日期,你会使用这样的东西:

 date('Y-m-d H:i:s') 

【讨论】:

【参考方案4】:

如果你想使用datetime 类:

$dt = new DateTime();
echo $dt->format('Y-m-d H:i:s');

documentation 供参考。

【讨论】:

【参考方案5】:

从 Laravel 5.5 开始,您可以使用 now() 函数来获取当前日期和时间。

blade文件中可以这样写来打印日期。

  now()->toDateTimeString('Y-m-d') 

更多信息请查看doc

【讨论】:

【参考方案6】:

这是另一种方法

Use \Carbon\Carbon;

$date = Carbon::now();

echo $date->toRfc850String();

输出会是这样的

Saturday, 11-May-19 06:28:04 UTC

【讨论】:

【参考方案7】:

怎么样

    $date = Carbon::now();
    return $date->toArray();

会给你

“年”:2019, “月”:1, “天”:27, "dayOfWeek": 0, "dayOfYear": 26, “小时”:10, “分钟”:28, “第二”:55, "englishDayOfWeek": "星期日", “微”:967721, “时间戳”:1548570535, "格式化": "2019-01-27 10:28:55", “时区”: “时区类型”:3, “时区”:“亚洲/迪拜”

同样的道具可以通过

返回 [ '日期' => $date->格式('Y-m-d'), '年' => $日期->年, '月' => $日期->月, '天' => $日期->天, '小时' => $日期->小时, 'isSaturday' => $date->isSaturday(), ];

【讨论】:

【参考方案8】:

适用于 LARAVEL 5.x

我想你在找这个

$errorLog->timestamps = false;
$errorLog->created_at = date("Y-m-d H:i:s");

【讨论】:

【参考方案9】:

你可以试试这个。

use Carbon\Carbon;

$date = Carbon::now()->toDateTimeString();

【讨论】:

【参考方案10】:

我更喜欢使用内置的 PHP 函数。如果要获取时间戳格式,例如“2021-03-31”,可以这样编写代码

$date = date('Y-m-d', time());

暂时可以这样写

$date = date('H:i:s', time());

有一天你可以这样写

$date = date('l', time()); // lowercase of L

function time() 会给你当前的 UNIX 时间,你可以把它转换成你需要的任何格式。

所以,您不再需要任何第三方软件包了 :)

您可以在此Wikipedia page 中阅读有关 UNIX 时间的更多信息,并在此webiste 中进行转换

最后,关于格式化,您可以访问w3schools 页面。

【讨论】:

【参考方案11】:

您可以按照这些规则获取任何日期时间格式。

$dt = Carbon::now();

var_dump($dt->toDateTimeString() == $dt);          // bool(true) => uses     __toString()
echo $dt->toDateString();                          // 1975-12-25
echo $dt->toFormattedDateString();                 // Dec 25, 1975
echo $dt->toTimeString();                          // 14:15:16
echo $dt->toDateTimeString();                      // 1975-12-25 14:15:16
echo $dt->toDayDateTimeString();                   // Thu, Dec 25, 1975 2:15 PM

【讨论】:

【参考方案12】:

你有几个助手。

助手 now() https://laravel.com/docs/7.x/helpers#method-now

帮助器 now() 有一个可选参数,即时区。所以你现在可以使用了:

now();

now("Europe/Rome");

以同样的方式你可以使用今天的助手()https://laravel.com/docs/7.x/helpers#method-today。这与 now() 的“相同”,但没有小时、分钟、秒。

最后,他们也使用了 Carbon。

【讨论】:

【参考方案13】:

很简单:

Carbon::now()->toDateString()

这将为您提供格式完美的日期字符串,例如 2020-10-29。

在 Laravel 5.5 及更高版本中,您可以使用 now() 作为全局助手而不是 Carbon::now(),如下所示:

now()->toDateString()

【讨论】:

【参考方案14】:
use DateTime;

$now = new DateTime();

【讨论】:

【参考方案15】:

Laravel 刀片视图:

\Carbon\Carbon::now()->format('d-m-Y')

有时区:

\Carbon\Carbon::now("Asia/Tokyo")->format('d-m-Y')

格式可用列表: https://www.php.net/manual/en/datetime.format.php

时区可用列表: https://www.php.net/manual/en/timezones.php

【讨论】:

【参考方案16】:
//vanilla php
Class Date 
    public static function date_added($time)
         date_default_timezone_set('Africa/Lagos');//or choose your location
        return date('l F Y g:i:s ',$time);

    



【讨论】:

【参考方案17】:

您可以在 Provider 文件夹中为您的 AppServicesProvider 设置时区

public function boot()

    Schema::defaultStringLength(191);
    date_default_timezone_set('Africa/Lagos');

然后use Import Carbon\Carbon 只需use Carbon::now() //获取当前时间,如果您需要对其进行格式化,请查看他们的文档以根据您的喜好查看更多选项enter link description here

【讨论】:

【参考方案18】:

如果你想要今天的日期

使用命名空间

use Carbon\Carbon as time;

代码,

 $mytime=time::now();
 $date=$mytime->toRfc850String();
 $today= substr($date, 0, strrpos($date, ","));
 dd($today)

输出, "Sunday"

【讨论】:

【参考方案19】:

如果您需要直接在视图的输入值中输入日期,这可以帮助您:(myview .blade.php)

<input type="date" name="Date" value="date('Y-m-d', time())">

【讨论】:

【参考方案20】:

我在 laravel 8 上使用 now() 创建用户

User::create([
   'name'=>'admin',
   'email'=>'admin@email.test',
   'email_verified_at'=>now(),
   'password'=>bcrypt('123456'),
]);

【讨论】:

【参考方案21】:

你可以使用today()function。

$today = today('Europe/London');
$dayOfYear = $today->dayOfYear;
$dayOfWeek = $today->dayOfWeek;

【讨论】:

以上是关于在 Laravel 中获取当前日期、时间和日期的主要内容,如果未能解决你的问题,请参考以下文章

在 Laravel 中添加时间到日期查询

Laravel - 如何在日期字符串中检查当前月份?

如何在 Laravel 中检索当前日期的数据

c++ 当前时间和日期获取

在android中如何获取当前日期?

在shell中怎么获取当前日期和时间