Ottenere la data, l'ora, il giorno correnti in laravel


116

Devo ottenere la data, l'ora, il giorno correnti usando Laravel

Ho provato a fare eco $ldate = new DateTime('today');e$ldate = new DateTime('now');

Ma ritorna sempre 1.

Come posso ottenere la data, l'ora e il giorno correnti in larvel


4
Usa date(). Non c'è bisogno di complicare le cose facili, aggiungere un sovraccarico non necessario.
Mārtiņš Briedis

1
Penso che il problema principale sia che stai facendo echo $now = new DateTime();mentre invece dovresti semplicemente impostare la variabile senza echo(cioè fai $now = new DateTime();) e poi quando vuoi echo devi usare il format()metodo ( docs ):echo $now->format('Y-m-d');
alexrussell

Risposte:


212

Laravel ha la Carbondipendenza collegata ad esso.

Carbon::now(), includere lo Carbon\Carbonspazio dei nomi se necessario.

Modifica (utilizzo e documenti)

Supponiamo che io voglia recuperare la data e l'ora e visualizzarle come stringa.

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

Questo produrrà nel solito formato di Y-m-d H:i:s, ci sono molti formati pre-creati ed è improbabile che tu abbia bisogno di pasticciare di nuovo con le stringhe di data e ora di PHP con Carbon.

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

Formati di stringa per Carbon: http://carbon.nesbot.com/docs/#api-formatting


4
utilizzare Carbon \ Carbon; è la dichiarazione dello spazio dei nomi
Kiren Siva

come estrarre dayname da 2016/2/20 in laravel 5 ?? si prega di rispondere
sabin maharjan

6
@AngularAngularAngular UseCarbon::now()->format('d-m-Y')
EThaizone Jo

1
recuperare il ritardo sulla documentazione di Carbon. Nessuno scriverà codice per te. La risposta fornisce quanto chiesto dal PO.
kratos

61

Prova questo,

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

13
@Chennai Perché ne hai bisogno per fare il "laravel"? Laravel è il "modo php" :)
Mārtiņš Briedis

3
Quando hai accesso a classi come Carbon completamente testate, è sempre utile utilizzarle. Perché reinventare la ruota quando esiste già un'implementazione robusta che fa ciò di cui hai bisogno e altro ancora?
Everon

3
@Everon Usare le funzioni di base integrate non significa reinventare la ruota. Le persone vogliono sempre complicare troppo le cose: S
Mārtiņš Briedis

3
Devi solo impostare il fuso orario corretto nella configurazione globale e il gioco è fatto, allo stesso modo in cui funziona il carbonio. È semplicemente sciocco fare le cose "alla maniera di Laravel", perché sembra più stravagante? Come è \Carbon\Carbon::now()->format('d.m.Y');meglio di date('d.m.Y')?
Mārtiņš Briedis

2
Grazie Quindi, date('Y-m-d H:i:s')non ti farà male comunque, giusto?
AngularAngularAngular

51

Php ha una funzione data che funziona molto bene. Con laravel e blade puoi usarlo senza brutti <?phpecho tag. Ad esempio, utilizzo quanto segue in un .blade.phpfile ...

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

... e Laravel / blade lo traduce nell'anno in corso. Se vuoi la data, l'ora e il giorno, userai qualcosa del genere:

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

16

Se vuoi usare datetime class

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

11

Dopo Laravel 5.5 puoi usare la funzione now () per ottenere la data e l'ora correnti.

Nel file blade, puoi scrivere in questo modo per stampare la data.

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

inserisci qui la descrizione dell'immagine


questo non risponde alla domanda, ma mi ha aiutato :)
lewis

6

Ecco un altro modo per farlo

Use \Carbon\Carbon;

$ date = Carbon :: now ();

echo $ date-> toRfc850String ();

L'output sarà così

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

4

PER LARAVEL 5.x

Penso che stavi cercando questo

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

3

Puoi provare questo.

use Carbon\Carbon;

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

3

Che ne dite di

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

ti darà

{
  "anno": 2019,
  "mese": 1,
  "giorno": 27,
  "dayOfWeek": 0,
  "dayOfYear": 26,
  "ora": 10,
  "minuto": 28,
  "secondo": 55,
  "englishDayOfWeek": "Sunday",
  "micro": 967721,
  "timestamp": 1548570535,
  "formattato": "2019-01-27 10:28:55",
  "fuso orario": {
    "timezone_type": 3,
    "timezone": "Asia / Dubai"
  }
}

Gli stessi oggetti di scena sono accessibili tramite

    ritorno [
             'date' => $ date-> formato ('Ym-d'),
              'anno' => $ data-> anno,
              'mese' => $ date-> mese,
              'giorno' => $ date-> giorno,
              'ora' => $ data-> ora,
              'isSaturday' => $ date-> isSaturday (),
          ];




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);

    }


}

0

Puoi impostare il fuso orario su AppServicesProvider nella cartella del provider

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

e poi use Import Carbon\Carbon e semplicemente use Carbon::now()// Per ottenere l'ora corrente, se hai bisogno di formattarla controlla la loro documentazione per ulteriori opzioni in base alle tue preferenze inserisci qui la descrizione del collegamento


0

Se vuoi la data di oggi

usa lo spazio dei nomi

use Carbon\Carbon as time;

codice ,

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

produzione , "Sunday"


-1

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.