Forum und email

date

(PHP 4, PHP 5)

date — Σχηματίστε μία τοπική ώρα/ημερομηνία

Περιγραφή

string date ( string $format [, int $ timestamp ] )

Επιστρέφει ένα string σχηματισμένο ανάλογα με το δοθέν format string, χρησιμοποιώντας τη δοθείσα integer παράμετρο timestamp ή την τοπική ώρα ένα δεν έχει δοθεί timestamp.

Note: Το έγκυρο πεδίο τιμών για ένα timestamp είναι τυπικά από Fri, 13 Dec 1901 20:45:54 GMT έως Tue, 19 Jan 2038 03:14:07 GMT. (Αυτές είναι οι ημερομηνίες που αντιστοιχούν στην ελάχιστη και μέγιστη τιμή, αντίστοιχα, ενός προσημασμένου integer των 32-bit). Στα windows το πεδίο περιορίζεται από την 01-01-1970 έως τις 19-01-2038.
Για να δημιουργείσετε ένα timestamp από μία ημερομηνία που αναπαρίσταται από string, μπορείτε να χρησιμοποιείσετε τη συνάρτηση strtotime(). Επιπλέον, μερικές βάσεις δεδομένων έχουν συναρτήσεις για να πετατρέπουν τις ημερομηνίες σε timestamps (όπως η συνάρτηση UNIX_TIMESTAMP της MySQL).

Οι ακόλουθοι χαρακτήρες αναγνωρίζονται από το format string:

  • a - "am" ή "pm"
  • A - "AM" ή "PM"
  • B - Swatch Internet time
  • d - ημέρα του μήνα, 2 ψηφία με ηγετικά μηδενικά ("01" έως "31").
  • D - ημέρα της εβδομάδας, παρατίθεται με 3 γράμματα. π.χ. "Fri"
  • F - μήνας, παρατίθεται το πλήρες όνομα. π.χ. "January"
  • g - ώρα, σε 12ωρη μορφή χωρίς ηγετικά μηδενικά ("1" έως "12").
  • G - ώρα, 24ωρη μορφή χωρίς ηγετικά μηδενικά ("0" έως "23").
  • h - ώρα, 12ωρη μορφή ("01" έως "12").
  • H - ώρα, 24ωρη μορφή ("00" έως "23").
  • i - λεπτά ("00" έως "59").
  • I (κεφαλαίο i) - "1" εάν είναι Θερινή Ώρα, αλλιώς "0".
  • j - ημέρα του μήνα χωρίς ηγετικά μηδενικά ("1" έως "31").
  • l (μικρό 'L') - ημέρα της εβδομάδας, παρατίθεται το πλήρες όνομα. π.χ. "Friday"
  • L - boolean για το αν είναι δίσεκτο έτος ("0" ή "1").
  • m - μήνας ("01" έως "12").
  • M - μήνας, παρατίθεται με 3 γράμματα. π.χ. "Jan"
  • n - μήνας χωρίς ηγετικά μηδενικά ("1" έως "12").
  • O - διαφορά με την Greenwich time σε ώρες. π.χ. "+0200"
  • r - ημερομηνία σε μορφή RFC 822; π.χg. "Thu, 21 Dec 2000 16:01:07 +0200" (προστέθηκε στην PHP 4.0.4)
  • s - δευτερόλεπτα ("00" έως "59")
  • S - το αγγλικο τακτικό επίθεμα για την ημέρα του μήνα, 2 χρακτήτων ("st", "nd", "rd" ή "th").
  • t - πλήθος ημερών στο δοσμένο μήνα ("28" έως "31").
  • T - Η ρύθμιση ζώνης ώρας της μηχανής; π.χ. "EST" ή "MDT"
  • U - δυτερόλεπτα από την Unix Epoch (January 1 1970 00:00:00 GMT)
  • w - ημέρα της εβδομάδας, αριθμητικά ("0" (Κυριακή) to "6" (Σάββατο)).
  • W - πλήθος εβδομάδων του έτος κατά το ISO-8601, οι εβδομάδες αρχίζουν Δευτέρα (προστέθηκε στην PHP 4.1.0)
  • Y - έτος, 4 ψηφία; π.χ. "1999"
  • y - έτος, 2 ψηφία; π.χ. "99"
  • z - ημέρα του έτους ("0" έως "365").
  • Z - διαφορά της ζώνης ώρας σε δευτερόλεπτα ("-43200" έως "43200"). Η διαφορά για ζώνες ώρας δυτικά του UTC είναι πάντα αρνητική, και για αυτές ανατολικά του UTC πάντα θετική.
Μη αναγνωρίσιμοι χαρακτήρες στο format string θα τυπωθούν αυτούσιοι. Η μορφή "Z" θα επιστρέφει πάντα "0" όταν χρησιμοποιείται με τη συνάρτηση gmdate().

Example#1 Παραδείγματα της date()

echo date ("l dS of F Y h:i:s A");
echo "July 1, 2000 is on a " . date ("l", mktime(0,0,0,7,1,2000));

Μπορείτε να αποτρέψετε τη λειτουργία ενός αναγνωρίσιμου χαρακτήρα στο format string με το να θέσετε ένα backslash πριν από αυτόν. Εάν ο χαρακτήρας με το backslash είναι ήδη μία είδική ακολουθία, μπορεί να χρειαστεί να τοποθετήσετε ένα επιπλέον backslash.

Example#2 Χαρακτήρες escape στην date()

echo date("l \\t\h\e jS"); // prints something like 'Saturday the 8th'

Είναι δυνατό να χρησιμοποιείσετε την date() και τη mktime() για να προσδιορίσετε ημερομηνίες στο μέλλον ή στο παρελθόν.

Example#3 Παραδείγματα του συνδυασμού των συναρτήσεων date() και mktime()

$tomorrow  = mktime (0,0,0,date("m")  ,date("d")+1,date("Y"));
$lastmonth = mktime (0,0,0,date("m")-1,date("d"),  date("Y"));
$nextyear  = mktime (0,0,0,date("m"),  date("d"),  date("Y")+1);

Note: Αυτό μπορεί να είναι πιο αξιόπιστο από το να προσθέτετε ή να αφαιρείτε το πλήθος των δυτερολέπτων της ημέρας ή του μήνα σε ένα timestamp εξαιτίας της θερινής ώρας.

Μερικά επιπλέον παραδείγματα της date(). Πρατηρείστε ότι θα πρέπει να θέσετε backslash σε όλους τους χαρακτήρες, καθώς οποιοσδήποτε έχει μία ιδιαίτερη σημασία θα παράξει ανεπιθύμητα αποτελέσματα, και επειδή μπορεί να δοθεί νόημα και σε άλλους χαρακτήρες στις μελλοντικές εκδόσεις της PHP. Όταν κάνετε escape ένα χαρακτήρα, βεβαιωθείτε ότι χρησιμοποιείτε απλά εισαγωγικά για χαρακτήρες όπως ο \n, που θα γίνει νέα γραμμή.

Example#4 date() Formatting

/* Today is March 10th, 2001, 5:16:18 pm */
$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day z ');  // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // It is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 15:16:08 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:17 m is month
$today = date("H:i:s");                         // 17:16:17

Για να διαμορφόσετε ημερομηνίες σε άλλες γλώσσες, θα πρέπει να χρησιμοποείσετε τις συνάρτησεις setlocale() και strftime().

Ανατρέξτε επίσης στις: getlastmod(), gmdate(), mktime(), strftime() και time().