在 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 中获取当前日期、时间和日期的主要内容,如果未能解决你的问题,请参考以下文章