Aktuelles Datum, Uhrzeit, Tag in Laravel abrufen

116

Ich muss das aktuelle Datum, die Uhrzeit und den Tag mit Laravel ermitteln

Ich versuchte zu wiederholen $ldate = new DateTime('today');und$ldate = new DateTime('now');

Aber es gibt immer 1 zurück.

Wie kann ich das aktuelle Datum, die Uhrzeit und den Tag in Larvel ermitteln?

AngularAngularAngular
quelle
4
Verwenden Sie date(). Keine Notwendigkeit, einfache Dinge zu komplizieren, unnötigen Overhead hinzuzufügen.
Mārtiņš Briedis
1
Ich denke, das Hauptproblem ist, dass Sie tun, echo $now = new DateTime();während Sie stattdessen nur die Variable ohne das echo(dh tun $now = new DateTime();) setzen sollten und dann, wenn Sie es wiedergeben möchten, müssen Sie die format()Methode ( docs ) verwenden:echo $now->format('Y-m-d');
alexrussell

Antworten:

210

Mit Laravel ist die CarbonAbhängigkeit verbunden.

Carbon::now()Carbon\CarbonFügen Sie bei Bedarf den Namespace hinzu.

Bearbeiten (Verwendung und Dokumente)

Angenommen, ich möchte Datum und Uhrzeit abrufen und als Zeichenfolge ausgeben.

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

Dies wird im üblichen Format von ausgegeben Y-m-d H:i:s , es gibt viele vorgefertigte Formate und es ist unwahrscheinlich, dass Sie sich erneut mit PHP-Datums- und Uhrzeitzeichenfolgen mit Carbon herumschlagen müssen.

Dokumentation: https://github.com/briannesbitt/Carbon

Zeichenfolgenformate für Carbon: http://carbon.nesbot.com/docs/#api-formatting

Everon
quelle
4
benutze Carbon \ Carbon; ist die Namespace-Deklaration
Kiren Siva
Wie extrahiere ich den Tagesnamen vom 20.02.2016 in Laravel 5? Bitte antworten Sie
Sabin Maharjan
6
@ AngularAngularAngular UseCarbon::now()->format('d-m-Y')
EThaizone Jo
1
Informieren Sie sich über Ihre Carbon-Dokumentation. Niemand wird Code für Sie schreiben. Die Antwort liefert, was vom OP gefragt wurde.
Kratos
60

Versuche dies,

$ldate = date('Y-m-d H:i:s');
Vinod VT
quelle
13
@Chennai Warum brauchst du es, um den "Laravel" Weg zu machen? Laravel ist der "PHP-Weg" :)
Mārtiņš Briedis
3
Wenn Sie Zugriff auf Klassen wie Carbon haben, die vollständig getestet wurden, ist es immer nützlich, sie zu verwenden. Warum das Rad neu erfinden, wenn es bereits eine robuste Implementierung gibt, die genau das tut, was Sie brauchen und mehr?
Everon
3
@Everon Die Verwendung integrierter Kernfunktionen erfindet das Rad nicht neu. Die Leute wollen immer Dinge überkomplizieren: S
Mārtiņš Briedis
3
Sie stellen einfach die richtige Zeitzone in der globalen Konfiguration ein und das war's, genauso wie Carbon funktioniert. Es ist einfach albern, Dinge "laravel way" zu machen, weil es ausgefallener aussieht? Wie ist das \Carbon\Carbon::now()->format('d.m.Y');besser als date('d.m.Y')?
Mārtiņš Briedis
2
Danke Also, das date('Y-m-d H:i:s')wird sowieso nicht weh tun, oder?
AngularAngularAngular
51

PHP hat eine Datumsfunktion, die sehr gut funktioniert. Mit Laravel und Klinge können Sie dies ohne hässliche <?phpEcho-Tags verwenden. Zum Beispiel verwende ich Folgendes in einer .blade.phpDatei ...

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

... und Laravel / Klinge übersetzt das auf das laufende Jahr. Wenn Sie Datum, Uhrzeit und Tag möchten, verwenden Sie Folgendes:

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

Wenn Sie verwenden möchten datetime class

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

Nach Laravel 5.5 können Sie die Funktion now () verwenden, um das aktuelle Datum und die aktuelle Uhrzeit abzurufen.

In der Blade-Datei können Sie wie folgt schreiben, um das Datum zu drucken.

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

Geben Sie hier die Bildbeschreibung ein

Freude
quelle
Dies beantwortet die Frage nicht wirklich, aber es hat mir geholfen :)
Lewis
6

Hier ist ein anderer Weg, dies zu tun

Use \Carbon\Carbon;

$ date = Carbon :: now ();

echo $ date-> toRfc850String ();

Die Ausgabe wird so sein

Saturday, 11-May-19 06:28:04 UTC
Amit Kumar
quelle
4

FÜR LARAVEL 5.x.

Ich denke, Sie haben danach gesucht

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

Wie wäre es mit

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

werde dir geben

{
  "Jahr": 2019,
  "Monat": 1,
  "Tag": 27,
  "dayOfWeek": 0,
  "dayOfYear": 26,
  "Stunde": 10,
  "Minute": 28,
  "Sekunde": 55,
  "englishDayOfWeek": "Sonntag",
  "micro": 967721,
  "Zeitstempel": 1548570535,
  "formatiert": "2019-01-27 10:28:55",
  "Zeitzone": {
    "timezone_type": 3,
    "Zeitzone": "Asien / Dubai"
  }}
}}

Die gleichen Requisiten sind über zugänglich

    Rückkehr [
             'Datum' => $ Datum-> Format ('Ym-d'),
              'Jahr' => $ Datum-> Jahr,
              'Monat' => $ Datum-> Monat,
              'Tag' => $ Datum-> Tag,
              'Stunde' => $ Datum-> Stunde,
              'isSaturday' => $ date-> isSaturday (),
          ];

f_i
quelle
2

Sie können dies versuchen.

use Carbon\Carbon;

$date = Carbon::now()->toDateTimeString();
Sheetal Mehra
quelle
1
use DateTime;

$now = new DateTime();
Zina Taklit
quelle
0
//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);

    }


}
Jacob
quelle
0

Sie können die Zeitzone für Ihren AppServicesProvider im Provider-Ordner festlegen

public function boot()
{
    Schema::defaultStringLength(191);
    date_default_timezone_set('Africa/Lagos');
}

und dann use Import Carbon\Carbon und einfach use Carbon::now()// Um ​​die aktuelle Uhrzeit zu erhalten, geben Sie hier die Linkbeschreibung ein, wenn Sie sie formatieren müssen. Weitere Optionen basierend auf Ihren Einstellungen finden Sie in der Dokumentation


quelle
0

Wenn Sie Datum von heute wollen

Namespace verwenden

use Carbon\Carbon as time;

Code,

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

Ausgabe , "Sunday"

Hassan Elshazly Eida
quelle
-1

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

Ashish
quelle