我需要使用 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');
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
尝试这个,
$ldate = date('Y-m-d H:i:s');
\Carbon\Carbon::now()->format('d.m.Y');
比 date('d.m.Y')
好多少?
date('Y-m-d H:i:s')
不会受到伤害,对吧?
PHP 有一个日期功能,效果很好。使用 laravel 和 Blade,您可以在没有丑陋的 <?php
回声标签的情况下使用它。例如,我在 .blade.php
文件中使用以下内容...
Copyright © {{ date('Y') }}
... Laravel/blade 将其转换为当前年份。如果您想要日期时间和日期,您将使用以下内容:
{{ date('Y-m-d H:i:s') }}
如果您想使用 datetime
类,请执行以下操作:
$dt = new DateTime();
echo $dt->format('Y-m-d H:i:s');
documentation 供参考。
从 Laravel 5.5 开始,您可以使用 now() 函数来获取当前日期和时间。
在刀片文件中,您可以这样写来打印日期。
{{ now()->toDateTimeString('Y-m-d') }}
https://i.stack.imgur.com/4mkTo.png
有关详细信息,请查看 doc
这是另一种方法
Use \Carbon\Carbon;
$date = Carbon::now();回声 $date->toRfc850String();
输出将是这样的
Saturday, 11-May-19 06:28:04 UTC
怎么样
$date = Carbon::now();
return $date->toArray();
会给你
{ "year": 2019, "month": 1, "day": 27, "dayOfWeek": 0, "dayOfYear": 26, "hour": 10, "minute": 28, "second": 55, "englishDayOfWeek": "Sunday", "micro": 967721, "timestamp": 1548570535, "formatted": "2019-01-27 10:28:55", "timezone": { "timezone_type": 3, "timezone": "Asia/Dubai" } }
相同的道具可以通过
return [ 'date' => $date->format('Y-m-d'), 'year' => $date->year, 'month' => $date->month, 'day' => $date->day, 'hour' => $date->hour, 'isSaturday' => $date->isSaturday(), ];
对于 LARAVEL 5.x
我想你在找这个
$errorLog->timestamps = false;
$errorLog->created_at = date("Y-m-d H:i:s");
你可以试试这个。
use Carbon\Carbon;
$date = Carbon::now()->toDateTimeString();
我更喜欢使用内置的 PHP 函数。如果您想获得时间戳格式,例如“2021-03-31”,您可以编写这样的代码
$date = date('Y-m-d', time());
暂时你可以这样写
$date = date('H:i:s', time());
在你可以这样写的那一天
$date = date('l', time()); // lowercase of L
函数 time()
将为您提供当前的 UNIX 时间,并将其转换为您需要的任何格式。
因此,您不再需要任何第三方软件包 :)
您可以在此 Wikipedia page 中阅读有关 UNIX 时间的更多信息,并在此 webiste 中将其转换
最后,对于格式,您可以访问 w3schools 页面。
您可以按照这些规则获取任何日期时间格式。
$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
你有几个帮手。
助手 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() “相同”,但没有小时、分钟、秒。
最后,他们在引擎盖下也使用了碳。
use DateTime;
$now = new DateTime();
这很简单:
Carbon::now()->toDateString()
这将为您提供格式完美的日期字符串,例如 2020-10-29。
在 Laravel 5.5 及更高版本中,您可以使用 now()
作为全局助手而不是 Carbon::now()
,如下所示:
now()->toDateString()
Laravel 刀片视图:
{{\Carbon\Carbon::now()->format('dmY')}}
带时区:
{{\Carbon\Carbon::now("亚洲/东京")->format('dmY')}}
可用格式列表:https://www.php.net/manual/en/datetime.format.php
可用时区列表:https://www.php.net/manual/en/timezones.php
我在 laravel 8 上使用 now()
创建用户
User::create([
'name'=>'admin',
'email'=>'admin@email.test',
'email_verified_at'=>now(),
'password'=>bcrypt('123456'),
]);
数据
return now()->toDateString();
时间
return now()->toTimeString();
//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);
}
}
您可以在 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
如果您在视图的输入值中直接需要日期,这可以帮助您:(myview .blade.php)
<input type="date" name="Date" value="{{date('Y-m-d', time())}}">
尝试这个,
$tmp = (new DateTime)->format('d-m-Y');
echo $tmp;
到时间戳。
$kTsp = (new DateTime)->getTimestamp();
echo $kTsp;
如果你想要今天的日期
使用命名空间
use Carbon\Carbon as time;
代码 ,
$mytime=time::now();
$date=$mytime->toRfc850String();
$today= substr($date, 0, strrpos($date, ","));
dd($today)
输出,"Sunday"
您可以使用 today()
function。
$today = today('Europe/London');
$dayOfYear = $today->dayOfYear;
$dayOfWeek = $today->dayOfWeek;
今天的数据和时间
return now::();
时间
return now()->toTimeString();
Carbon::now()->format('d-m-Y')