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, ez most segített nekem
Beküldte joebacsi -
Köszi, ez most segített nekem is, viszont a kódban t helyett f van :)
:) Kösz, javítottam.
Beküldte EdgarPE -
:) Kösz, javítottam.
Köszönöm! Ez most pont kellet
Beküldte Anonymous -
Köszönöm!
Ez most pont kellet nekem!
Gábor
Köszi!
Beküldte JJ -
Köszi!
date("Y-m-d", mktime(0, 0, 0,
Beküldte Szabó-Pölös Tibor -
date("Y-m-d", mktime(0, 0, 0, date("m"), 0, date("Y")));
az előbbi az előző hónap
Beküldte Szabó-Pölös Tibor -
az előbbi az előző hónap utolsó napját adja vissza.