Beräkna ett datum i framtiden eller förflutenheten

PHP:
Beräkna ett datum i framtiden eller förflutenheten

Hur gör man:

PHP gör datumhantering enkel med inbyggda funktioner. Här är ett snabbt exempel:

<?php
$today = new DateTime();
$interval = new DateInterval('P10D'); // 10 dagar

$futureDate = clone $today; // Framtida datum
$futureDate->add($interval);
echo $futureDate->format('Y-m-d') . "\n"; // Visar framtida datum

$pastDate = clone $today; // Förflutet datum
$pastDate->sub($interval);
echo $pastDate->format('Y-m-d') . "\n"; // Visar förflutet datum
?>

Exempelutskrift:

2023-04-27  // 10 dagar från idag i framtiden
2023-04-07  // 10 dagar från idag i det förflutna

Djupdykning:

Tid är komplex. PHPs datumhanteringsfunktioner bygger på tidigare C-bibliotek och har utvecklats genom åren för att förenkla komplexiteten i datumberäkningar.

Alternativ för att hantera datum inkluderar strtotime(), som är kraftfull för att tolka textbaserade datum:

echo date('Y-m-d', strtotime('+10 days')); // Framtida datum

Implementeringsdetaljer är viktiga, t.ex. skottår och tidszoner. DateTime-objektet hanterar detta automatiskt. DateTimeImmutable är ett alternativ som förhindrar ändring av det ursprungliga objektet, vilket kan vara praktiskt för att undvika sidoeffekter.

Se även: