Hónap utolsó napja PHP-ben

Egy költségnyilvántartó programot fejlesztek, és szükségem volt arra, hogy egy űrlap mező kezdőérékként mindig az aktuális hónap utolsó napját vegye fel. Az ilyen dátum manipuláló dolgokat én mindig a PHP date és strtotime függvényekkel oldom meg. De kiderült, hogy ez nem is olyan egyszerű. Ha egy sorba akarnám írni, az bizony nagyon hosszú lenne. Bár írtam rá egy függvényt:

<?php
 
function last_day_of_month($date = NULL) {
    if (
$date === NULL) $date = date('Y-m-d');
   
$ts = strtotime($date);
   
$months = 12 * date('Y', $ts) + date('m', $ts) + 1;
    return
date('Y-m-d', strtotime( floor($months / 12) .'-'. $months % 12 . '-01 00:00:00' ) -1);
  }
?>

de mint kiderült, felesleges volt. A PHP ezt már alapkiszerelésben is tudja, méghozzá a fent linkelt date függvény t paraméterével.

A hónap utolsó napjának meghatározása PHP-ben, tehát ilyen egyszerű:

<?php
 
// aktuális hónap
 
$honap_utolso_napja = date('Y-m-t');

 
// bármelyik hónap, ahol 1234567890 egy unix timestamp
 
$honap_utolso_napja = date('Y-m-t', 1234567890);
?>

Biztos van aki már tudott erről, nekem még új volt ez az infó.

116 hozzászólás

Köszi!

Köszi!