Manipolare le date in php con mktime() e date()

Posted by Dibi Store Wed, 26 Sep 2007 07:26:00 GMT

Talvolta abbiamo bisogno di effettuare delle operazioni sulle date con php, ad esempio vogliamo aggiungere o togliere un giorno ad una determinata data, aggiungere una settimana alla data attuale, eccetera.

Per fare questo tipo di operazioni, useremo le due funzioni date() e mktime() di php. La prima permette di creare una data nel formato scelto (si veda la documentazione di date()), mentre la seconda ci permette di creare il suo timestamp, ovvero il numero di secondi dal primo gennaio 1970.

Come esempio riporterò una data in formato 20070926 (anno, mese, giorno). Il nostro obiettivo sarà quello di aggiungere un giorno a tale data.
Iniziamo con lo scomporre la data in modo corretto con substr() e a trasformarla in timestamp con mktime().

<?php
$date = '20070926';
$YY = substr($dayStamp, 0, 4);
$mm = substr($dayStamp, 4, 2);
$dd = substr($dayStamp, 6, 2);
?>

Ora viene il bello, con una sola riga di codice saremo in grado di aggiungere un giorno (ma potrebbe essere un anno o qualsiasi altro valore):

<?php
$custom_date = date("Ymd" ,mktime(0, 0, 0, $mm, $dd + 1, $YY));
?>

Semplice no? non dovrebbero esserci più problemi ora ad effettuare operazioni con le date. Forse non è il metodo più efficace in termini di prestazioni, ma sicuramente è semplice da ricordare e utile in moltissime occasioni.

Posted in  | Tags ,  | no comments

Comments

(leave url/email »)

   Preview comment