[teaser]In questo articolo vedremo come si fà con php a lavorare con le date. Vedremo i diversi formati e come si utilizzano con un esempio[/teaser]

Spesso quando lavoriamo stiamo creando uno script, avremo bisogno di sapere che data è al momento di una certa azione (ad esempio, per una registrazione).

In PHP, per ottenere la data abbiamo a disposizione due funzioni.

Funzione Getdate

Utilizzando un piccolo array possiamo mostrare ai visitatori del nostro sito l’ora (ora inteso come giorno anno mese ora minuto secondo ecc). Vediamo un piccolo esempio:

Con questo script possiamo ricavare sostituendo ai nomi delle variabili:

  • seconds” – Per i secondi
  • minutes” – Per i minuti
  • hours” – Per le ore
  • mday” – Per il giorno del mese
  • wday” – Per il giorno della settimana, numerico : da 0 come Domenica a 6 come Sabato
  • mon” – Per il mese( numerico)
  • year” – Per l’ anno( numerico)
  • yday” – Per il giorno dell’anno, numerico; Per esempio “230”
  • weekday” – Per il giorno della settimana, scritto per intero (in inglese). Esempio: “Friday”
  • month” – mese, testuale, per intero; i.e. “January”

Funzione Date

La funzione date() ci ritorna semplicemente/esattamente quello che vogliamo, e anche con la formattazione:

La particolarità di date, è che possiamo dare nel parametro anche la formattazione, infatti se avessi messo al posto dei punti dei “-” avrei avuto: dd-mm-yyyy.

Abbiamo diverse possibilità, come su getdate, di sbizzarrirci sulla formattazione:

  • a – “am” o “pm”
  • A – “AM” o “PM”
  • B – Swatch Internet time
  • d – giorno del mese, 2 cifre senza tralasciare gli zero; i.e. “01” a “31”
  • D – giorno della settimana, testuale, 3 lettere; i.e. “Fri”
  • F – mese, testuale, long; i.e. “January”
  • g – ora, formato a 12-ore senza eventuali zero; i.e. “1” a “12”
  • G – ora, formato a 24-ore senza eventuali zero; i.e. “0” a “23”
  • h – ora, formato a 12-ore; i.e. “01” a “12”
  • H – ora, formato a 24-ore; i.e. “00” a “23”
  • i – minuti; i.e. “00” a “59”
  • I (i grande) – “1” se c’è l’ora legale, “0” altrimenti.
  • j – giorno del mese senza eventuali zero; i.e. “1” a “31”
  • l (‘L’ piccola) – giorno della settimana, testuale, long; i.e. “Friday”
  • L – valore booleano per stabilire se è un anno bisestile; i.e. “0” o “1”
  • m – mese; i.e. “01” a “12”
  • M – mese, testuale, 3 lettere; i.e. “Jan”
  • n – mese senza eventuali zero; i.e. “1” a “12”
  • O – Differenza in ore dal fuso orario Greenwich; i.e. “+0200”
  • r – Data formattata RFC 822; i.e. “Thu, 21 Dec 2000 16:01:07 +0200” (aggiunto nel PHP 4.0.4)
  • s – secondi; i.e. “00” a “59”
  • S – Suffisso ordinale Inglese per i giorni del mese, 2 caratteri; i.e. “th”, “nd”
  • t – numero di giorni del mese dato; i.e. “28” a “31”
  • T – Fuso orario di questo computer; i.e. “MDT”
  • U – secondi dall’epoca since the epoch
  • w – giorno della settimana, numerico, i.e. “0” (Domenica) a “6” (Sabato)
  • W – ISO-8601 Numero della settimana dell’anno, le settimane iniziano il lunedì (aggiunto in PHP 4.1.0) (Sabato)
  • Y – anno, 4 cifre; i.e. “1999”
  • y – anno, 2 cifre; i.e. “99”
  • z – giorno dell’anno; i.e. “0” a “365”
  • Z – Fuso orario in secondi (i.e. “-43200” a “43200”). Il fuso orario ad ovest dell’UTC è sempre negativo, e per quelli ad est è sempre positivo.

(lista presa da php.net)