Uso de Laravel Carbon

Uso de Laravel Carbon
A maioria dos aplicativos da web precisa trabalhar com a data e a hora. O aplicativo da web desenvolvido pela estrutura do Laravel usa uma extensão simples da API para trabalhar com a data e a hora chamadas Carbono. Este pacote PHP pode lidar com o tempo e o fuso horário mais facilmente no projeto Laravel. O Carbono O pacote pode ser usado para muitos propósitos, como ler a data e a hora atuais, alterando o formato de data e hora padrão, encontrando a diferença entre duas datas, convertendo a data e a hora de um furo horário para outro, etc. Diferentes usos de Carbono No projeto Laravel, foi mostrado neste tutorial.

Pré-requisitos:

Você precisa concluir as seguintes tarefas antes de praticar os exemplos deste tutorial.

Crie um novo projeto de Laravel nomeado TimeProject. Aqui o compositor tem sido usado para criar o projeto Laravel. Se o compositor não está instalado antes disso, você deve instalá -lo antes de executar o seguinte comando.

$ compositor Create-Projeto Laravel/Laravel TimeProject

Vá para a pasta do projeto.

$ CD TimeProject

Todos os exemplos deste tutorial foram testados no Laravel versão 9+. Verifique a versão instalada do Laravel.

$ php artesan -versão

Crie um controlador:

Execute o seguinte comando para criar um controlador para verificar os usos do pacote de carbono. Depois de executar o comando, o DatetImecontroller.O arquivo php será criado dentro da pasta App/Http/Controllers.

$ php artesan make: controller datetimecontroller

Diferentes usos de carbono:

Os usos de Carbono Para diferentes propósitos, foram demonstrados nesta parte do tutorial modificando o DATETIMECONTROLLER.php arquivo.

Exemplo 1: Leia a data e a hora atuais

O uso mais simples da classe de carbono é ler a data e a hora atuais. Abra o DATETIMECONTROLLER.php Arquive e substitua o conteúdo pelo seguinte script. O agora() função do Carbono A classe foi usada no script para ler a data e a hora atuais.

namespace app \ http \ controladores;
use iluminado \ http \ request;
Use carbono \ carbono;
Classe DATETIMecontroller estende o controlador

Índice de função pública ()

// Leia a data e a hora atuais
$ current_dateTime = carbon :: agora ();
// Imprima a data e a hora atuais
eco "a data e hora atuais são $ current_dateTime";

Abra o rede.php arquivo do rotas pasta, adicione as seguintes linhas para adicionar as informações do controlador e executar o índice() função do controlador para o URL da raiz.

use app \ http \ controllers \ datetimecontroller;
Route :: get ('/', [DATETIMECONTROLLER :: Class, 'Index']);

Execute o seguinte comando para iniciar o servidor de desenvolvimento de Laravel se não for iniciado antes.

$ php artesan servir

Execute o seguinte URL do navegador, verifique a saída deste exemplo.

http: // 127.0.0.1: 8000/

A saída semelhante a seguir aparecerá com base na data e hora do sistema.

Exemplo 2: Formate a data e hora atuais

Substitua a função Index () do DatetImecontroller pelo seguinte script para saber como formatar a data e a hora atuais. Três tipos diferentes de formatação foram mostrados no script a seguir. O valor da data será impresso com o formato dd-mm-yy na primeira saída. O valor da data será impresso com o nome do mês inteiro e o valor do ano na segunda saída. O valor do tempo será impresso com o formato HH: MM: SS na terceira saída.

Índice de função pública ()

// Leia a data e a hora atuais
$ DATETIME = carbono :: agora ()-> TodATETIMEstring ();
// formate a data para obter apenas a data
$ cur_date = carbon :: createfromFormat ('y-m-d h: i: s', $ dateTime)-> formato ('d-m-y');
// Imprima a data atual
eco "a data atual é $ cur_date
";
// formate a data para obter a data de outra maneira
$ cur_date2 = carbon :: createfromFormat ('y-m-d h: i: s', $ dateTime)-> formato ('d f y');
// Imprima a data atual
eco "A data atual em outro formato é $ cur_date2
";
// formate a data para obter apenas o tempo
$ cur_time = carbon :: createfromFormat ('y-m-d h: i: s', $ dateTime)-> formato ('h: i: s');
// Imprima a hora atual
eco "a hora atual é $ cur_time";

A saída semelhante a seguir aparecerá com base na data e hora atuais após a execução do script acima.

Exemplo 3: Imprima a data atual, anterior e a próxima

Substitua o índice() função do DATETIMECONTROLLER Com o script a seguir para saber como imprimir a data atual, data de próxima data, data anterior.

Índice de função pública ()

$ agora = carbon :: agora ()-> TodAstring ();
$ formmatted = carbon :: createfromFormat ('y-m-d', $ agora)-> formato ('f j, y');
eco "Hoje: $ formmatted
";
$ seguinte = carbono :: amanhã ()-> TodAstring ();
$ formmatted = carbon :: createfromFormat ('y-m-d', $ próximo)-> formato ('f j, y');
eco "Amanhã: $ formmatted
";
$ prevday = carbon :: ontem ()-> TodAstring ();
$ formmatted = carbon :: createfromFormat ('y-m-d', $ prevday)-> formato ('f j, y');
eco "Ontem: $ formmatted
";

A saída semelhante a seguir aparecerá com base na data e hora atuais após a execução do script acima.

Exemplo-4: encontre a diferença entre datas em dias, meses e anos

Substitua o índice() função do DATETIMECONTROLLER com o script a seguir para saber a maneira de calcular a diferença entre duas datas em dias, meses e anos.

Índice de função pública ()

// Defina a data de início
$ start_date = carbon :: createfromFormat ('y-m-d', '2022-03-15');
// Defina a data final
$ end_date = carbon :: createfromFormat ('y-m-d', '2024-03-15');
// Conte a diferença nos dias
$ count_days = $ start_date-> DifiDays ($ end_date);
// Imprima o valor da contagem
eco "A diferença entre duas datas é de $ Count_Days Days
";
// Conte a diferença nos meses
$ count_months = $ start_date-> diffinmonths ($ end_date);
// Imprima o valor da contagem
eco "A diferença entre duas datas é de $ count_months meses
";
// Conte a diferença nos anos
$ count_years = $ start_date-> diffinyears ($ end_date);
// Imprima o valor da contagem
eco "a diferença entre duas datas é de $ count_years anos";

A saída a seguir aparecerá após a execução do script acima.

Exemplo 5: defina o fuso horário padrão

Outro uso importante da classe de carbono é definir o fuso horário. Substitua o índice() função do DATETIMECONTROLLER com o script a seguir para definir dois fusos horários diferentes e verificar as diferenças de tempo entre os fusos horários.

Índice de função pública ()

// Defina o fuso horário padrão
date_default_timezone_set ('America/Los_angeles');
$ DATETIME = carbono :: agora ()-> TodATETIMEstring ();
$ date = carbon :: createfromFormat ('y-m-d h: i: s', $ dateTime)-> formato ('d/m/y h: i: s');
eco $ data, "
";
// Alterar o fuso horário padrão
date_default_timezone_set ('Ásia/dhaka');
$ DATETIME = carbono :: agora ()-> TodATETIMEstring ();
$ date = carbon :: createfromFormat ('y-m-d h: i: s', $ dateTime)-> formato ('d/m/y h: i: s');
eco $ data;

A saída semelhante a seguir aparecerá com base na data e hora atuais após a execução do script acima.

Conclusão:

A classe de carbono é uma classe muito útil do Laravel para trabalhar com a data e a hora. Diferentes métodos desta classe foram usados ​​nos exemplos deste tutorial para imprimir a data e a hora de diferentes maneiras e executar tarefas relacionadas a data e tempo.