Obtendo data, hora e dia atuais no laravel

117

Preciso obter a data, hora e dia atuais usando laravel

Tentei ecoar $ldate = new DateTime('today');e$ldate = new DateTime('now');

Mas está sempre voltando 1.

Como posso obter a data, hora e dia atuais em larvel

AngularAngularAngular
fonte
4
Use date(). Não há necessidade de complicar as coisas fáceis, adicionar sobrecarga desnecessária.
Mārtiņš Briedis
1
Acho que o principal problema é que você está fazendo, ao echo $now = new DateTime();passo que, em vez disso, você deve apenas definir a variável sem o echo(ou seja, fazer $now = new DateTime();) e, em seguida, quando quiser ecoá-lo, você precisará usar o format()método ( docs ):echo $now->format('Y-m-d');
alexrussell

Respostas:

212

O Laravel tem a Carbondependência associada a ele.

Carbon::now(), inclua o Carbon\Carbonnamespace se necessário.

Editar (uso e documentos)

Digamos que eu queira recuperar a data e a hora e gerá-la como uma string.

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

A saída será no formato normal de Y-m-d H:i:s, existem muitos formatos pré-criados e você provavelmente não precisará mexer nas strings de data e hora do PHP novamente com Carbon.

Documentação: https://github.com/briannesbitt/Carbon

Formatos de string para carbono: http://carbon.nesbot.com/docs/#api-formatting

Everon
fonte
4
use Carbon \ Carbon; é a declaração de namespace
Kiren Siva
como extrair dayname de 20/02/2016 no laravel 5 ?? por favor responda
sabin maharjan
6
@AngularAngularAngular UseCarbon::now()->format('d-m-Y')
EThaizone Jo
1
atualize sua documentação do Carbon. Ninguém vai escrever código para você. A resposta fornece o que foi solicitado pelo OP.
Kratos
61

Tente isto,

$ldate = date('Y-m-d H:i:s');
Vinod VT
fonte
13
@Chennai Por que você precisa fazer do jeito "laravel"? Laravel é o "jeito php" :)
Mārtiņš Briedis
3
Quando você tem acesso a classes como Carbon, que são totalmente testadas, é sempre útil utilizá-las. Por que reinventar a roda quando já existe uma implementação robusta que faz o que você precisa e muito mais?
Everon
3
@Everon Usar funções básicas integradas não é reinventar a roda. As pessoas sempre querem complicar as coisas: S
Mārtiņš Briedis
3
Você acabou de definir o fuso horário certo na configuração global e é isso, da mesma forma que o carbono funciona. É bobagem fazer as coisas do jeito "laravel", porque fica mais chique? Como isso é \Carbon\Carbon::now()->format('d.m.Y');melhor do que date('d.m.Y')?
Mārtiņš Briedis
2
Obrigado. Então, date('Y-m-d H:i:s')não vai doer de jeito nenhum, certo?
AngularAngularAngular
51

Php tem uma função de data que funciona muito bem. Com laravel e lâmina você pode usar isso sem <?phpmarcas de eco feias . Por exemplo, eu uso o seguinte em um .blade.phparquivo ...

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

... e o Laravel / blade traduz isso para o ano atual. Se quiser data, hora e dia, você usará algo assim:

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

Se você quiser usar datetime class

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

Após o Laravel 5.5 você pode usar a função now () para obter a data e hora atuais.

No arquivo blade, você pode escrever assim para imprimir a data.

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

insira a descrição da imagem aqui

alegria
fonte
isso realmente não responde à pergunta, mas me ajudou :)
lewis
6

Aqui está outra maneira de fazer isso

Use \Carbon\Carbon;

$ date = Carbon :: now ();

echo $ date-> toRfc850String ();

A saída será assim

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

PARA LARAVEL 5.x

Eu acho que você estava procurando por isso

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

Você pode tentar isso.

use Carbon\Carbon;

$date = Carbon::now()->toDateTimeString();
Sheetal Mehra
fonte
3

E se

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

Darei à você

{
  "ano": 2019,
  "mês": 1,
  "dia": 27,
  "dayOfWeek": 0,
  "dayOfYear": 26,
  "hora": 10,
  "minuto": 28,
  "segundo": 55,
  "englishDayOfWeek": "Domingo",
  "micro": 967721,
  "timestamp": 1548570535,
  "formatado": "2019-01-27 10:28:55",
  "fuso horário": {
    "timezone_type": 3,
    "fuso horário": "Ásia / Dubai"
  }
}

Os mesmos adereços são acessíveis por meio

    Retorna [
             'data' => $ data-> formato ('Ym-d'),
              'ano' => $ data-> ano,
              'mês' => $ data-> mês,
              'dia' => $ data-> dia,
              'hora' => $ data-> hora,
              'isSaturday' => $ date-> isSaturday (),
          ];

f_i
fonte
1
use DateTime;

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

Você pode definir o fuso horário em seu AppServicesProvider na pasta do provedor

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

e então use Import Carbon\Carbon e simplesmente use Carbon::now()// Para obter a hora atual, se você precisar formatá-la, verifique a documentação para mais opções com base em suas preferências insira a descrição do link aqui


fonte
0

Se você quer um encontro de hoje

usar namespace

use Carbon\Carbon as time;

código,

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

resultado , "Sunday"

Hassan Elshazly Eida
fonte
-1

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

Ashish
fonte