Analysera ett datum från en sträng

PHP:
Analysera ett datum från en sträng

Hur man gör:

PHP:s inbyggda DateTime-klass tillhandahåller en kraftfull uppsättning funktioner för att tolka och arbeta med datum. Du kan skapa en DateTime-instans från en datumsträng med konstruktören och sedan formatera den efter behov. Så här gör du:

$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

För att hantera strängar som följer icke-standardiserade format, kan du använda metoden createFromFormat, som låter dig specificera det exakta formatet på indatatdatumet:

$dateString = "25-04-2023 3:30 EM";
$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

För mer komplex tolkning som kanske inte direkt stöds av DateTime, erbjuder PHP funktionen strtotime, som försöker tolka en engelsk textuell datumtidbeskrivning till ett Unix-tidsstämpel:

$timestamp = strtotime("nästa torsdag");
echo date('Y-m-d', $timestamp);
// Utdata kommer att variera beroende på aktuellt datum, t.ex. "2023-05-04"

Användning av tredjepartsbibliotek:

Medan PHP:s inbyggda funktioner täcker ett brett spektrum av användningsfall, kan du ibland behöva mer sofistikerade tolkningsfunktioner. Carbonbiblioteket, en utökning av PHP:s DateTime-klass, erbjuder en rik uppsättning funktioner för datum/tid-manipulering:

require 'vendor/autoload.php';

use Carbon\Carbon;

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

echo $date->toDateTimeString();
// Utdata kommer att variera, t.ex., "2023-04-26 00:00:00"

Carbons parse-metod kan smart hantera en mängd datum- och tidsformat, vilket gör det till ett ovärderligt verktyg för applikationer som kräver flexibel datumtolkningsfunktion.