Päivämäärän jäsennys merkkijonosta

PHP:
Päivämäärän jäsennys merkkijonosta

Kuinka:

PHP:n sisäänrakennettu DateTime-luokka tarjoaa tehokkaan joukon funktioita päivämäärien jäsentämiseksi ja käsittelyksi. Voit luoda DateTime-instanssin päivämäärämerkkijonosta käyttämällä konstruktoria ja sitten muotoilla sen tarpeen mukaan. Näin se tehdään:

$dateString = "2023-04-25 15:30:00";
$dateObject = new DateTime($dateString);

echo $dateObject->format('Y-m-d H:i:s');
// Tulostus: 2023-04-25 15:30:00

Käsitelläksesi merkkijonoja, jotka noudattavat epästandardimuotoja, voit käyttää createFromFormat-metodia, joka mahdollistaa syöttöpäivämäärän tarkan muodon määrittämisen:

$dateString = "25-04-2023 3:30 PM";
$dateObject = DateTime::createFromFormat('d-m-Y g:i A', $dateString);

echo $dateObject->format('Y-m-d H:i:s');
// Tulostus: 2023-04-25 15:30:00

Monimutkaisempaan jäsentämiseen, jota DateTime ei ehkä suoraan tue, PHP tarjoaa strtotime-funktion, joka yrittää jäsentää minkä tahansa englanninkielisen tekstuaalisen päivämäärä- ja aikakuvauksen Unix-aikaleimaksi:

$timestamp = strtotime("next Thursday");
echo date('Y-m-d', $timestamp);
// Tulostus vaihtelee nykyisen päivämäärän mukaan, esim. "2023-05-04"

Kolmannen osapuolen kirjastojen käyttö:

Vaikka PHP:n sisäänrakennetut funktiot kattavat laajan valikoiman käyttötarkoituksia, saatat joskus tarvita monimutkaisempia jäsentämiskykyjä. Carbon-kirjasto, joka on PHP:n DateTime-luokan laajennus, tarjoaa rikkaan joukon ominaisuuksia päivämäärän/ajan käsittelyyn:

require 'vendor/autoload.php';

use Carbon\Carbon;

$dateString = "Tomorrow";
$date = Carbon::parse($dateString);

echo $date->toDateTimeString();
// Tulostus vaihtelee, esim. "2023-04-26 00:00:00"

Carbonin parse-metodi osaa älykkäästi käsitellä monia päivämäärä- ja aikamuotoja, mikä tekee siitä korvaamattoman työkalun sovelluksille, jotka vaativat joustavaa päivämäärän jäsentämistoiminnallisuutta.