Η συνάρτηση date()

Η συνάρτηση date επιστρέφει την ημερομηνία στη μορφή που επιθυμούμε.

Σύνταξη
date (format, timestamp)

Παράμετρος Περιγραφή
format Καθορίζει τη μορφή της ημερομηνίας (υποχρεωτικό)
timestamp Καθορίζει το timestamp (προαιρετικό)

Μερικές από τις τιμές που δέχεται η παράμετρος format είναι οι εξής:

format Περιγραφή Παράδειγμα
Ημέρα
d Ημέρα με μηδενικά μπροστά 01 έως 31
D Ημέρα σε μορφή κειμένου (τρία γράμματα) Mon (Δευτέρα) μέχρι Sun (Κυριακή)
j Ημέρα χωρίς μηδενικά μπροστά 1 έως 31
w Ημέρα της εβδομάδας 0 (για Δευτέρα) μέχρι 7 (Κυριακή)
z Ημέρα του έτους (ξεκινώντας από το 0) 0 έως 365
 
Εβδομάδα
W Εβδομάδα του χρόνου Π.χ. 38 (38η εβδομάδα του έτους)
 
Μήνας
F Μήνας σε μορφή πλήρους κειμένου January μέχρι December
m Μήνας σε αριθμητική μορφή (με μηδενικά μπροστά) 01 έως 12
M Μήνας σε μορφή κειμένου με τρία γράμματα Jan (Ιανουάριος) μέχρι Dec (Δεκέμβριος)
n Μήνας σε αριθμητική μορφή (χωρίς μηδενικά μπροστά) 1 έως 12
t Αριθμός ημερών του δοθέντος μήνα 28 μέχρι 31
 
Έτος
L Επιστρέφει τιμή ανάλογη με το αν το έτος είναι δίσεκτο ή όχι Επιστρέφει 1 αν το έτος είναι δίσεκτο, 0 διαφορετικά.
Y Έτος με τέσσερα ψηφία Π.χ. 1997 ή 2012
y Έτος με δύο ψηφία Π.χ. 97 ή 12
 
Ώρα
g Ώρα σε 12ωρη μορφή χωρίς μηδενικά μπροστά 1 έως 12
G Ώρα σε 24ωρη μορφή χωρίς μηδενικά μπροστά 0 έως 23
h Ώρα σε 12ωρη μορφή με μηδενικά μπροστά 01 έως 12
H Ώρα σε 24ωρη μορφή με μηδενικά μπροστά 00 έως 23
i Λεπτά με μηδενικά μπροστά 00 έως 59
s Δευτερόλεπτα με μηδενικά μπροστά 00 έως 59

Το timestamp είναι ο αριθμός των δευτερολέπτων που έχουν περάσει από 1 Ιανουαρίου 1970. Είδαμε παραπάνω ότι είναι προαιρετικό. Αν δε συμπληρώσει ο χρήστης timestamp, τότε η date παίρνει αυτόματα σαν όρισμα την τρέχουσα ημερομηνία και ώρα. Εναλλακτικά, η χρήση της συνάρτησης time() επιστρέφει το τρέχον timestamp.

Παραδείγματα
 

Κώδικας Αποτέλεσμα
echo time (); 1332669590
echo date ( 'j F Y', time () ); 25 March 2012
echo date ( 'd/m/Y', time () ); 25/03/12
echo date ( 'H:i:s', time () ); 12:46:07
echo date ( 'H:i:s', time () + 60 ); // Προσθέσαμε στο timestamp 60 δευτερόλεπτα επιπλέον 12:47:07

Αρκετές φορές θέλουμε να υπολογίσουμε το timestamp συγκεκριμένης ημερομηνίας (ή / και ώρας ίσως). Δεν μπορούμε, όμως, να γνωρίζουμε τον ακριβή αριθμό δευτερολέπτων που έχουν μεσολαβήσει από 1 Ιανουαρίου 1970 μέχρι την επιθυμητή ημερομηνία. Τη λύση μας τη δίνει η συνάρτηση mktime.

Σύνταξη
mktime (hour, minute, second, month, day, year);

Παράδειγμα
<?php
    $timestamp = mktime ( 0, 0, 0, 2, 27, 1980 );
    echo date ( 'D d-m-Y ', $timestamp );
?>

Ο παραπάνω κώδικας θα τυπώσει στην οθόνη 'Wed 27-02-1980'.