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.