Bruk av laravel karbon

Bruk av laravel karbon
De fleste webapplikasjoner krever å jobbe med dato og klokkeslett. Nettapplikasjonen utviklet av Laravel Framework bruker en enkel API -utvidelse for å jobbe med dato og klokkeslett som heter Karbon. Denne PHP -pakken kan håndtere tid og tidssone lettere i Laravel -prosjektet. De Karbon Pakken kan brukes til mange formål, for eksempel å lese gjeldende dato og klokkeslett, endre standarddato og tidsformat, finne forskjellen mellom to datoer, konvertere dato og klokkeslett fra en tidssone til en annen tidssone, etc. Forskjellige bruksområder av Karbon I Laravel -prosjektet er det vist i denne opplæringen.

Forutsetninger:

Du må fullføre følgende oppgaver før du øver på eksemplene på denne opplæringen.

Lag et nytt Laravel -prosjekt som heter Timeproject. Her, The komponist har blitt brukt til å lage Laravel -prosjektet. Hvis komponist er ikke installert før da, du må installere den før du utfører følgende kommando.

$ komponist Create-Project Laravel/Laravel TimeProject

Gå til prosjektmappen.

$ CD TimeProject

Alle eksempler på denne opplæringen er testet i Laravel versjon 9+. Sjekk den installerte versjonen av Laravel.

$ PHP Artisan -Versjon

Opprett en kontroller:

Kjør følgende kommando for å opprette en kontroller for å sjekke bruken av karbonpakken. Etter å ha utført kommandoen, DateTimeController.PHP -fil vil bli opprettet i mappen APP/HTTP/Controllers.

$ PHP Artisan Make: Controller DateTimeController

Ulike bruksområder av karbon:

Bruken av Karbon for forskjellige formål er vist i denne delen av opplæringen ved å endre DateTimeController.PHP fil.

Eksempel 1: Les gjeldende dato og klokkeslett

Den enkleste bruken av karbonklassen er å lese gjeldende dato og klokkeslett. Åpne DateTimeController.PHP fil og erstatt innholdet med følgende skript. De nå() funksjon av Karbon Klassen har blitt brukt i skriptet for å lese gjeldende dato og klokkeslett.

namespace -app \ http \ kontrollere;
Bruk Illuminate \ http \ forespørsel;
Bruk karbon \ karbon;
KlassedatetimeController utvider kontrolleren

offentlig funksjonsindeks ()

// Les gjeldende dato og klokkeslett
$ current_datetime = karbon :: nå ();
// Skriv ut gjeldende dato og klokkeslett
ekko "Gjeldende dato og klokkeslett er $ current_datetime";

Åpne Web.PHP fil fra ruter Mappe, legg til følgende linjer for å legge til kontrollerinformasjonen, og kjøre indeks () Funksjonen til kontrolleren for rot -url.

Bruk app \ http \ controllere \ DateTimeController;
Rute :: get ('/', [DateTimeController :: klasse, 'indeks']);

Kjør følgende kommando for å starte Laravel Development Server hvis den ikke startes før.

$ PHP Artisan server

Kjør følgende URL fra nettleseren Kontroller utdataene til dette eksemplet.

http: // 127.0.0.1: 8000/

Følgende lignende utdata vises basert på datoen og klokkeslettet for systemet.

Eksempel-2: Formater gjeldende dato og klokkeslett

Bytt ut indeksen () -funksjonen til DateTimeController med følgende skript for å vite hvordan du formaterer gjeldende dato og klokkeslett. Tre forskjellige typer formatering er vist i følgende skript. Datoverdien vil bli skrevet ut med DD-MM-YY-formatet i den første utgangen. Datoverdien vil bli skrevet ut med hele månedens navn og årsverdi i den andre utgangen. Tidsverdien vil bli skrevet ut med HH: MM: SS -format i den tredje utgangen.

offentlig funksjonsindeks ()

// Les gjeldende dato og klokkeslett
$ dateTime = karbon :: nå ()-> toDateTimestring ();
// format datoen for bare å få datoen
$ cur_date = carbon :: createFromformat ('y-m-d h: i: s', $ dateTime)-> format ('d-m-y');
// Skriv ut gjeldende dato
ekko "Gjeldende dato er $ cur_date
";
// Formater datoen for å få datoen på en annen måte
$ cur_date2 = karbon :: createFromformat ('y-m-d h: i: s', $ dateTime)-> format ('d f y');
// Skriv ut gjeldende dato
ekko "Gjeldende dato i et annet format er $ cur_date2
";
// format datoen for bare å få tid
$ cur_time = carbon :: createFromformat ('y-m-d h: i: s', $ dateTime)-> format ('h: i: s');
// Skriv ut gjeldende tid
ekko "Den nåværende tiden er $ cur_time";

Følgende lignende utdata vises basert på gjeldende dato og tid etter utførelse av skriptet ovenfor.

Eksempel-3: Skriv ut gjeldende, forrige og neste dato

Bytt ut indeks () funksjon av DateTimeController Med følgende skript for å vite hvordan du skriver ut gjeldende dato, kommende dato, forrige dato.

offentlig funksjonsindeks ()

$ nå = karbon :: nå ()-> TODATESTRING ();
$ formMatted = Carbon :: CreateFromFormat ('Y-M-D', $ Now)-> Format ('F J, Y');
ekko "I dag: $ formmattet
";
$ NextDay = Carbon :: Tomorrow ()-> TODATESTRING ();
$ formMatted = Carbon :: CreateFromFormat ('Y-M-D', $ NextDay)-> Format ('F J, Y');
ekko "I morgen: $ formmattet
";
$ prevay = carbon :: i går ()-> toDatestring ();
$ formMatted = Carbon :: CreateFromFormat ('Y-M-D', $ PREDDAY)-> Format ('F J, Y');
ekko "I går: $ formmattet
";

Følgende lignende utdata vises basert på gjeldende dato og tid etter utførelse av skriptet ovenfor.

Eksempel-4: Finn forskjellen mellom datoer i dager, måneder og år

Bytt ut indeks () funksjon av DateTimeController med følgende skript for å kjenne måten å beregne forskjellen mellom to datoer på dager, måneder og år.

offentlig funksjonsindeks ()

// angi startdato
$ start_date = carbon :: createFromformat ('y-m-d', '2022-03-15');
// Angi sluttdatoen
$ end_date = carbon :: createFromformat ('y-m-d', '2024-03-15');
// telle forskjellen i dager
$ count_days = $ start_date-> diffindays ($ end_date);
// Skriv ut telleverdien
ekko "Forskjellen mellom to datoer er $ count_days Days
";
// telle forskjellen i måneder
$ count_months = $ start_date-> diffinmonths ($ end_date);
// Skriv ut telleverdien
ekko "Forskjellen mellom to datoer er $ count_months måneder
";
// telle forskjellen i år
$ count_years = $ start_date-> diffinyears ($ end_date);
// Skriv ut telleverdien
ekko "Forskjellen mellom to datoer er $ count_years år";

Følgende utgang vises etter å ha utført skriptet ovenfor.

Eksempel-5: Angi standard tidssone

En annen viktig bruk av karbonklassen er å sette tidssonen. Bytt ut indeks () funksjon av DateTimeController med følgende skript for å angi to forskjellige tidssoner og sjekke tidsforskjellene mellom tidssonene.

offentlig funksjonsindeks ()

// angi standard tidssone
date_default_timezone_set ('America/los_angeles');
$ dateTime = karbon :: nå ()-> toDateTimestring ();
$ date = carbon :: createFromformat ('y-m-d h: i: s', $ datetime)-> format ('d/m/y h: i: s');
ekko $ dato, "
";
// Endre standard tidssone
date_default_timezone_set ('Asia/dhaka');
$ dateTime = karbon :: nå ()-> toDateTimestring ();
$ date = carbon :: createFromformat ('y-m-d h: i: s', $ datetime)-> format ('d/m/y h: i: s');
ekko $ dato;

Følgende lignende utdata vises basert på gjeldende dato og tid etter utførelse av skriptet ovenfor.

Konklusjon:

Karbonklassen er en veldig nyttig klasse av Laravel for å jobbe med dato og klokkeslett. Ulike metoder i denne klassen har blitt brukt i eksemplene på denne opplæringen for å skrive ut dato og tid på forskjellige måter og utføre dato- og tidsrelaterte oppgaver.