Analysering av en dato fra en streng

PHP:
Analysering av en dato fra en streng

Hvordan:

PHPs innebygde DateTime-klasse tilbyr et kraftfullt sett med funksjoner for å analysere og jobbe med datoer. Du kan opprette en DateTime-instans fra en dato-streng ved hjelp av konstruktøren, og deretter formatere den som nødvendig. Her er hvordan:

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

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

For å håndtere strenger som følger ikke-standard formater, kan du bruke createFromFormat-metoden, som lar deg spesifisere det eksakte formatet på inndatadatoen:

$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');
// Utdata: 2023-04-25 15:30:00

For mer kompleks parsing som kanskje ikke støttes direkte av DateTime, tilbyr PHP strtotime-funksjonen, som forsøker å analysere enhver engelsk tekstlig datotidsbeskrivelse til et Unix-tidsstempel:

$timestamp = strtotime("next Thursday");
echo date('Y-m-d', $timestamp);
// Utdata vil variere avhengig av gjeldende dato, f.eks., "2023-05-04"

Bruk av tredjepartsbiblioteker:

Selv om PHPs innebygde funksjoner dekker et bredt spekter av bruksområder, kan du noen ganger trenge mer sofistikert parsingmuligheter. Carbon-biblioteket, en utvidelse av PHPs DateTime-klasse, gir et rikt sett med funksjoner for dato-/tidsmanipulering:

require 'vendor/autoload.php';

use Carbon\Carbon;

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

echo $date->toDateTimeString();
// Utdata vil variere, f.eks., "2023-04-26 00:00:00"

Carbons parse-metode kan smart håndtere et mangfold av dato- og tidsformater, noe som gjør det til et uvurderlig verktøy for applikasjoner som krever fleksibel datoparsingfunksjonalitet.