PHP Date() & Time Function: Πώς να αποκτήσετε την τρέχουσα χρονική σήμανση;

⚡ Έξυπνη Σύνοψη

Η συνάρτηση PHP date() μορφοποιεί τις χρονικές σημάνσεις σε ημερομηνίες και ώρες αναγνώσιμες από τον άνθρωπο. Αυτή η αναλυτική παρουσίαση εξηγεί τη σύνταξη ημερομηνίας, τη χρονική σήμανση Unix, τον τρόπο καταχώρισης και ορισμού ζωνών ώρας, τη συνάρτηση mktime για τη δημιουργία χρονικών σημάνσεων και μια πλήρη αναφορά στους χαρακτήρες μορφής ώρας, ημέρας, μήνα και έτους.

  • 📅 Ποια ημερομηνία() κάνει: Η συνάρτηση date μετατρέπει μια χρονική σήμανση σε μια μορφοποιημένη συμβολοσειρά χρησιμοποιώντας χαρακτήρες όπως Y, m και d για το έτος, τον μήνα και την ημέρα.
  • Χρονική σήμανση Unix: Μια χρονική σήμανση είναι ο αριθμός των δευτερολέπτων από την 1η Ιανουαρίου 1970 GMT και η συνάρτηση time() επιστρέφει την τρέχουσα τιμή.
  • 🌍 Ζώνες ώρας: Η συνάρτηση date_default_timezone_set αλλάζει την ενεργή ζώνη ώρας και η συνάρτηση DateTimeZone::listIdentifiers παραθέτει κάθε υποστηριζόμενη ζώνη.
  • 🔧 ώρα ΜΚ: Η συνάρτηση mktime δημιουργεί μια χρονική σήμανση από μια συγκεκριμένη ώρα, λεπτό, δευτερόλεπτο, μήνα, ημέρα και έτος.
  • 🔤 Μορφοποίηση χαρακτήρων: Μεμονωμένα γράμματα ελέγχουν την έξοδο, για παράδειγμα H για την 24ωρη ώρα, l για το όνομα της ημέρας της εβδομάδας και F για το όνομα του μήνα.
  • 📐 Πίνακες αναφοράς: Οι ομαδοποιημένοι πίνακες παραθέτουν τους χαρακτήρες σε μορφή ώρας, ημέρας, μήνα και έτους με ένα εκτελέσιμο παράδειγμα για τον καθένα.
  • 🤖 AI Assist: Τα εργαλεία τεχνητής νοημοσύνης μπορούν να δημιουργήσουν μορφοποίηση ημερομηνίας και κώδικα διαφοράς και να βοηθήσουν στην επίλυση σφαλμάτων που προκαλούν σύγχυση στις ζώνες ώρας.

Συνάρτηση PHP date().

Συνάρτηση PHP date().

Η συνάρτηση date της PHP είναι μια ενσωματωμένη συνάρτηση που απλοποιεί την εργασία με τύπους δεδομένων ημερομηνίας. Η συνάρτηση date της PHP χρησιμοποιείται για τη μορφοποίηση μιας ημερομηνίας ή ώρας σε μορφή αναγνώσιμη από τον άνθρωπο. Μπορεί να χρησιμοποιηθεί για την εμφάνιση της ημερομηνίας δημοσίευσης ενός άρθρου ή την καταγραφή της τελευταίας ενημέρωσης των δεδομένων σε μια βάση δεδομένων.

Σύνταξη & Παράδειγμα Ημερομηνίας PHP

Η PHP date() έχει την ακόλουθη βασική σύνταξη.

<?php
date(format,[timestamp]);
?>

ΕΔΩ,

  • Η συνάρτηση “date(…)” επιστρέφει την τρέχουσα χρονική σήμανση με τη μορφή PHP στο διακομιστή.
  • Η «μορφή» είναι η γενική μορφή που θέλουμε να έχει η έξοδος, για παράδειγμα:
    • «Ymd» για τη μορφή ημερομηνίας PHP ΕΕΕΕ-ΜΜ-ΗΗ
    • "Y" για εμφάνιση του τρέχοντος έτους
  • Η επιλογή «[χρονική σήμανση]» είναι προαιρετική. Εάν δεν έχει δοθεί χρονική σήμανση, η PHP θα χρησιμοποιήσει την τρέχουσα ημερομηνία και ώρα στον διακομιστή.

Ας δούμε ένα βασικό παράδειγμα που απεικονίζει το τρέχον έτος.

<?php

echo date("Y");

?>

Παραγωγή:

2026

Τι είναι η χρονοσήμανση;

Μια χρονική σήμανση στην PHP είναι μια αριθμητική τιμή σε δευτερόλεπτα μεταξύ της τρέχουσας ώρας και της τιμής στο 1.st Ιανουάριος 1970 00:00:00 Ώρα Γκρίνουιτς (GMT).

Η τιμή που επιστρέφεται από τη συνάρτηση ώρας εξαρτάται από την προεπιλεγμένη ζώνη ώρας.

Η προεπιλεγμένη ζώνη ώρας ορίζεται στο αρχείο php.ini. Μπορεί επίσης να οριστεί μέσω προγραμματισμού χρησιμοποιώντας τη συνάρτηση date_default_timezone_set.

Ο παρακάτω κώδικας εμφανίζει την τρέχουσα χρονική σήμανση.

<?php

echo time();

?>

Υποθέτοντας ότι αποθηκεύσατε το αρχείο timestamp.php στον φάκελο phptuts, μεταβείτε στο URL http://localhost/phptuts/timestamp.php

Χρονόμετρο

Σημείωση: η τιμή της χρονικής σήμανσης δεν είναι σταθερή. Αλλάζει κάθε δευτερόλεπτο.

Λήψη λίστας διαθέσιμων αναγνωριστικών ζώνης ώρας

Πριν εξετάσουμε τον τρόπο ορισμού της προεπιλεγμένης ζώνης ώρας μέσω προγραμματισμού, ας δούμε πώς να αποκτήσουμε μια λίστα με τις υποστηριζόμενες ζώνες ώρας.

<?php

$timezone_identifiers = DateTimeZone::listIdentifiers();

foreach($timezone_identifiers as $key => $list){

echo $list . "<br/>";

}
?>

ΕΔΩ,

  • Η μέθοδος “$timezone_identifiers = DateTimeZone::listIdentifiers();” καλεί τη στατική μέθοδο listIdentifiers της ενσωματωμένης κλάσης DateTimeZone. Η μέθοδος listIdentifiers επιστρέφει μια λίστα αναγνωριστικών που έχουν αντιστοιχιστεί στη μεταβλητή $timezone_identifiers.
  • Η συνάρτηση “foreach{…}” επαναλαμβάνει τον πίνακα και εκτυπώνει τις τιμές.

Υποθέτοντας ότι αποθηκεύσατε το αρχείο list_time_zones.php στον φάκελο phptuts, μεταβείτε στο URL http://localhost/phptuts/list_time_zones.php

Αναγνωριστικά ζώνης ώρας

Η PHP ορίζει τη ζώνη ώρας μέσω προγραμματισμού

Η συνάρτηση date_default_timezone_set σάς επιτρέπει να ορίσετε την προεπιλεγμένη ζώνη ώρας από ένα σενάριο PHP.

Η καθορισμένη ζώνη ώρας θα χρησιμοποιηθεί στη συνέχεια από όλες τις ημερομηνίες Συναρτήσεις PHP στα σενάρια σας. Έχει την ακόλουθη σύνταξη.

<?php
date_default_timezone_set(string $timezone_identifier);
?>

ΕΔΩ,

  • Το "date_default_timezone_set()" είναι η συνάρτηση που ορίζει την προεπιλεγμένη ζώνη ώρας
  • Το "string $timezone_identifier" είναι το αναγνωριστικό ζώνης ώρας

Το παρακάτω σενάριο εμφανίζει την ώρα σύμφωνα με την προεπιλεγμένη ζώνη ώρας που έχει οριστεί στο php.ini. Στη συνέχεια, αλλάζει την προεπιλεγμένη ζώνη ώρας σε Ασία/Καλκούτα και εμφανίζει ξανά την ώρα.

<?php
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");

date_default_timezone_set("Asia/Calcutta");
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");
?>

Υποθέτοντας ότι έχετε αποθηκεύσει το αρχείο set_time_zone.php στον φάκελο phptuts, μεταβείτε στο URL http://localhost/phptuts/set_time_zone.php

Η PHP ορίζει τη ζώνη ώρας μέσω προγραμματισμού

Λειτουργία PHP Mktime

Η συνάρτηση mktime επιστρέφει τη χρονική σήμανση σε α Unix μορφή.

Έχει την εξής σύνταξη.

<?php
mktime(hour, minute, second, month, day, year, is_dst);
?>

ΕΔΩ,

  • Το "mktime(…)" είναι η συνάρτηση χρονικής σφραγίδας make PHP
  • Η «ώρα» είναι προαιρετική· είναι ο αριθμός της ώρας
  • Το «λεπτό» είναι προαιρετικό· είναι ο αριθμός των λεπτών
  • Το «δευτερόλεπτο» είναι προαιρετικό· είναι ο αριθμός των δευτερολέπτων
  • Το «μήνας» είναι προαιρετικό· είναι ο αριθμός του μήνα
  • Η «ημέρα» είναι προαιρετική· είναι ο αριθμός της ημέρας
  • Το «έτος» είναι προαιρετικό· είναι ο αριθμός του έτους
  • Το «is_dst» είναι προαιρετικό. Χρησιμοποιείται για τον προσδιορισμό της θερινής ώρας (DST). Το 1 αντιστοιχεί στην DST, το 0 αν δεν αντιστοιχεί και το -1 αν είναι άγνωστη.

Ας δούμε τώρα ένα παράδειγμα που δημιουργεί μια χρονική σήμανση για την ημερομηνία 13/10/2025 χρησιμοποιώντας τη συνάρτηση mktime.

<?php

echo mktime(0,0,0,10,13,2025);

?>

ΕΔΩ,

  • Το «0,0,0» είναι η ώρα, το λεπτό και τα δευτερόλεπτα αντίστοιχα.
  • Το "10" είναι ο μήνας του έτους
  • Το «13» είναι η ημέρα του μήνα
  • Το «2025» είναι η χρονιά

Παραγωγή:

1760328000

Αναφορά μορφής ημερομηνίας PHP

Οι παρακάτω πίνακες δείχνουν τους συνήθεις χαρακτήρες μορφής που χρησιμοποιούνται κατά την εργασία με τις συναρτήσεις ημερομηνίας PHP.

Χρονικές παράμετροι

Παράμετρος Περιγραφή Παράδειγμα
"Ρ" Επιστρέφει την πλήρη ημερομηνία και ώρα
<?php
echo date("r");
?>
«α», «Α» Επιστρέφει εάν η τρέχουσα ώρα είναι π.μ. ή μ.μ., π.μ. ή μ.μ. αντίστοιχα
<?php
echo date("a");
echo date("A");
?>
«γ», «Γ» Επιστρέφει την ώρα χωρίς αρχικά μηδενικά [1 έως 12], [0 έως 23] αντίστοιχα
<?php
echo date("g");
echo date("G");
?>
«η», «Η» Επιστρέφει την ώρα με μηδενικά στην αρχή [01 έως 12], [00 έως 23] αντίστοιχα
<?php
echo date("h");
echo date("H");
?>
«i», «s» Επιστρέφει τα λεπτά/δευτερόλεπτα με μηδενικά στην αρχή [00 έως 59]
<?php
echo date("i");
echo date("s");
?>

Παράμετροι ημέρας

Παράμετρος Περιγραφή Παράδειγμα
"ρε" Εμφανίζει την ημέρα του μήνα με μηδενικά στην αρχή [01 έως 31]
<?php
echo date("d");
?>
"j" Εμφανίζει την ημέρα του μήνα χωρίς μηδενικά στην αρχή [1 έως 31]
<?php
echo date("j");
?>
"ΡΕ" Επιστρέφει τα πρώτα 3 γράμματα του ονόματος της ημέρας [Κυρ έως Σάβ]
<?php
echo date("D");
?>
"ΜΕΓΑΛΟ" Επιστρέφει το όνομα της ημέρας της εβδομάδας [Κυριακή έως Σάββατο]
<?php
echo date("l");
?>
"Σε" Επιστρέφει την ημέρα της εβδομάδας χωρίς μηδενικά στην αρχή [0 έως 6]. Η Κυριακή αντιπροσωπεύεται από μηδέν (0) έως το Σάββατο που αντιπροσωπεύεται από έξι (6).
<?php
echo date("w");
?>
"z" Επιστρέφει την ημέρα του χρόνου χωρίς προηγούμενα κενά [0 έως 365]
<?php
echo date("z");
?>

Παράμετροι μήνα

Παράμετρος Περιγραφή Παράδειγμα
"M" Επιστρέφει τον αριθμό του μήνα με μηδενικά στην αρχή [01 έως 12]
<?php
echo date("m");
?>
«Ν» Επιστρέφει τον αριθμό του μήνα χωρίς μηδενικά στην αρχή [1 έως 12]
<?php
echo date("n");
?>
"Μ" Επιστρέφει τα πρώτα 3 γράμματα του ονόματος του μήνα [Ιανουάριος έως Δεκέμβριος]
<?php
echo date("M");
?>
"ΦΑ" Επιστρέφει το όνομα του μήνα [Ιανουάριος έως Δεκέμβριος]
<?php
echo date("F");
?>
«τ» Επιστρέφει τον αριθμό των ημερών σε ένα μήνα [28 έως 31]
<?php
echo date("t");
?>

Παράμετροι έτους

Παράμετρος Περιγραφή Παράδειγμα
"ΜΕΓΑΛΟ" Επιστρέφει 1 αν είναι δίσεκτο έτος και 0 αν δεν είναι δίσεκτο έτος
<?php
echo date("L");
?>
"Υ" Επιστρέφει τη μορφή τετραψήφιου έτους
<?php
echo date("Y");
?>
"Υ" Επιστρέφει τη μορφή διψήφιου έτους (00 έως 99)
<?php
echo date("y");
?>

Συχνές Ερωτήσεις

Η date() είναι μια απλή διαδικαστική συνάρτηση που μορφοποιεί μια χρονική σήμανση. Η κλάση DateTime είναι αντικειμενοστρεφής και υποστηρίζει αριθμητική, σύγκριση, ζώνες ώρας και αμετάβλητοτητα, καθιστώντας την καλύτερη για σύνθετη λογική ημερομηνίας σε μεγαλύτερες εφαρμογές.

Χρησιμοποιήστε την strtotime(), η οποία διαβάζει μορφές όπως '2025-10-13' ή 'next' Monday' και επιστρέφει μια χρονική σήμανση Unix. Για αυστηρή ανάλυση μιας γνωστής μορφής, η συνάρτηση DateTime::createFromFormat είναι ασφαλέστερη επειδή αποτυγχάνει σαφώς σε μη έγκυρη είσοδο.

Δημιουργήστε δύο αντικείμενα DateTime και καλέστε τη συνάρτηση diff(), η οποία επιστρέφει ένα DateInterval. Στη συνέχεια, μπορείτε να διαβάσετε ημέρες, μήνες ή έτη, για παράδειγμα $start->diff($end)->days για να λάβετε τον συνολικό αριθμό ημερών μεταξύ των ημερομηνιών.

Ναι. Περιγράψτε τη μορφή εισόδου και εξόδου και η Τεχνητή Νοημοσύνη μπορεί να παράγει κώδικα date(), DateTime ή strtotime, συμπεριλαμβανομένης της προσθήκης διαστημάτων ή της μετατροπής ζωνών ώρας. Δοκιμάστε το με ακραίες περιπτώσεις όπως δίσεκτα έτη και τέλη μηνών.

Ναι. Η Τεχνητή Νοημοσύνη μπορεί να εντοπίσει μια κλήση date_default_timezone_set που λείπει, μια αναντιστοιχία ζώνης ώρας διακομιστή έναντι ζώνης ώρας εμφάνισης ή προβλήματα θερινής ώρας και, στη συνέχεια, να προτείνει τη χρήση της ημερομηνίας/ώρας με σαφείς ζώνες ώρας για να κάνει τη συμπεριφορά προβλέψιμη.

Συνοψίστε αυτήν την ανάρτηση με: