Η συνάρτηση 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'.