ChatGPT解决这个技术问题 Extra ChatGPT

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

我需要使用 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');

c
chepe263

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 的要求。
V
Vinod VT

尝试这个,

$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') 不会受到伤害,对吧?
M
Menasheh

PHP 有一个日期功能,效果很好。使用 laravel 和 Blade,您可以在没有丑陋的 <?php 回声标签的情况下使用它。例如,我在 .blade.php 文件中使用以下内容...

Copyright © {{ date('Y') }}

... Laravel/blade 将其转换为当前年份。如果您想要日期时间和日期,您将使用以下内容:

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

f
francisco

如果您想使用 datetime 类,请执行以下操作:

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

documentation 供参考。


J
Jigar

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

在刀片文件中,您可以这样写来打印日期。

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

https://i.stack.imgur.com/4mkTo.png

有关详细信息,请查看 doc


A
Amit Kumar

这是另一种方法

Use \Carbon\Carbon;

$date = Carbon::now();回声 $date->toRfc850String();

输出将是这样的

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

f
f_i

怎么样

    $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(),
          ];

U
Udhav Sarvaiya

对于 LARAVEL 5.x

我想你在找这个

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

S
Sheetal Mehra

你可以试试这个。

use Carbon\Carbon;

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

A
Azzam Jihad Ulhaq

我更喜欢使用内置的 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 页面。


M
Md. Jamil Ahsan

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

$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

R
Roberto

你有几个帮手。

助手 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() “相同”,但没有小时、分钟、秒。

最后,他们在引擎盖下也使用了碳。


Z
Zina Taklit
use DateTime;

$now = new DateTime();

P
Paul Denisevich

这很简单:

Carbon::now()->toDateString()

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

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

now()->toDateString()

T
Trần Hữu Hiền

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


R
Riki krismawan

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

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

a
ali hassan

数据

return now()->toDateString();

时间

return now()->toTimeString(); 

j
jacob
//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


H
Heterocigoto

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

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

d
drodriguez

尝试这个,

$tmp = (new DateTime)->format('d-m-Y');
echo $tmp;

到时间戳。

$kTsp = (new DateTime)->getTimestamp();
echo $kTsp;

H
Hassan Elshazly Eida

如果你想要今天的日期

使用命名空间

use Carbon\Carbon as time;

代码 ,

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

输出,"Sunday"


f
francisco

您可以使用 today() function

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

a
ali hassan

今天的数据和时间

return now::();

时间

return now()->toTimeString();

嗨,阿里,已经存在 21 个其他答案,如果您可以在代码中添加解释以帮助我们了解它与其他答案的不同之处以及它如何以其他答案没有的方式解决问题,那就太好了。谢谢!