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:
- PHP: Datetime - Manualen (https://www.php.net/manual/en/class.datetime.php)
- PHP: DateInterval - Manualen (https://www.php.net/manual/en/class.dateinterval.php)
- PHP: strtotime - Manualen (https://www.php.net/manual/en/function.strtotime.php)