Η ώρα του διακομιστή Php είναι τρέχουσα. Php που εργάζεται με ημερομηνίες - ημερομηνία DateTime mktime και άλλα...

Η JavaScript είναι αποκλεισμένη στο πρόγραμμα περιήγησής σας. Ενεργοποιήστε την JavaScript για να λειτουργήσει ο ιστότοπος!

Αναπαράσταση ημερομηνίας και ώρας

Σε κατανεμημένα συστήματα όπως το Διαδίκτυο, ο χρόνος παίζει ιδιαίτερο ρόλο. Λόγω μιας μικρής διαφοράς στο ρολόι του συστήματος, ένας παίκτης Forex μπορεί να χάσει δεκάδες χιλιάδες δολάρια μέσα σε λίγα λεπτά. το σύστημα επιχειρηματικής ευφυΐας θα κάνει λάθος κάνοντας μια πρόβλεψη. Οι διακομιστές NNTP θα χάσουν σημαντικές πληροφορίες που χρειάζεται ο χρήστης κατά τη διαδικασία συγχρονισμού κ.λπ.

Η PHP περιέχει πολλές λειτουργίες για εργασία με ημερομηνία και ώρα. Τα πιο χρησιμοποιημένα είναι:

  • χρόνος()- επιστρέφει τον τρέχοντα απόλυτο χρόνο. Ο αριθμός αυτός είναι ίσος με τον αριθμό των δευτερολέπτων που έχουν περάσει από τα μεσάνυχτα της 1ης Ιανουαρίου 1970 (από την αρχή της εποχής του UNIX).
  • getdate()- διαβάζει πληροφορίες ημερομηνίας και ώρας. Επιστρέφει έναν συσχετιστικό πίνακα που περιέχει πληροφορίες για τον καθορισμένο ή τον τρέχοντα (από προεπιλογή) χρόνο. Ο πίνακας περιέχει τα ακόλουθα στοιχεία:

    Παράδειγμα 1

    Χρήση getdate() $val) echo "$key = $val
    "; ηχώ "
    Σήμερα: $d.$d.$d"; ?>

    ΑΠΟΤΕΛΕΣΜΑ ΠΑΡΑΔΕΙΓΜΑΤΟΣ 1:

    Δευτερόλεπτα = 21 λεπτά = 4 ώρες = 12 μ.μ. = 10 ημερ. = 4 δευτ. = 11 έτος = 2005 ημέρα = 313 εργάσιμες ημέρες = Πέμπτη μήνας = Νοέμβριος 0 = 1131613461 Σήμερα: 10/11/2005

  • ημερομηνία()- Μορφοποίηση ημερομηνίας και ώρας. Ορίσματα: συμβολοσειρά μορφής και απόλυτος χρόνος. Το δεύτερο όρισμα είναι προαιρετικό. Επιστρέφει μια συμβολοσειρά με τη δεδομένη ή την τρέχουσα ημερομηνία στην καθορισμένη μορφή. Η συμβολοσειρά μορφής μπορεί να περιέχει τους ακόλουθους κωδικούς:
    ένα
    ΕΝΑΠεριλαμβάνεται η ένδειξη "AM" ή "PM".
    ρεΗμέρα του μήνα (01-31)
    ρεΣυντομευμένο όνομα της ημέρας της εβδομάδας (τρία γράμματα)
    φάΌνομα πλήρους μήνα
    σολΡολόι (μορφή 12 ωρών χωρίς αρχικά μηδενικά)
    σολΡολόι (24ωρη μορφή χωρίς μηδενικά)
    ηΡολόι (μορφή 12 ωρών)
    HΡολόι (24ωρη μορφή)
    ΕγώΛεπτά (00-59)
    ιΗμέρα του μήνα χωρίς μηδενικά (1-31)
    μεγάλοΠλήρες όνομα της ημέρας της εβδομάδας
    μεγάλοΈνδειξη δίσεκτου έτους (0 ή 1)
    ΜΜήνας (01-12)
    ΜΣυντομευμένο όνομα μήνα (τρία γράμματα)
    nΜήνας (1-12)
    μικρόΔευτερόλεπτα (00-59)
    tΑριθμός ημερών σε έναν δεδομένο μήνα (από 28 έως 31)
    UΑπόλυτος χρόνος
    w
    yΈτος (δύο βαθμοί)
    ΥΈτος (τέσσερις βαθμοί)
    zΗμέρα του χρόνου (0-365)
    ΖΜετατόπιση ζώνης ώρας σε δευτερόλεπτα (-43200 έως 43200)

    Οποιεσδήποτε άλλες πληροφορίες περιλαμβάνονται στη συμβολοσειρά μορφοποίησης θα εισαχθούν στη συμβολοσειρά που επιστρέφεται. Εάν πρέπει να προσθέσετε χαρακτήρες στη συμβολοσειρά μορφοποίησης που είναι οι ίδιοι κωδικοί μορφής, τότε πρέπει να προηγείται μια ανάστροφη κάθετο "\". Οι χαρακτήρες που γίνονται κωδικοί μορφής όταν προστίθενται με ανάστροφη κάθετο πρέπει να προηγούνται από δύο κάθετες προς τα εμπρός. Για παράδειγμα, εάν πρέπει να προσθέσετε το "n" σε μια συμβολοσειρά, πρέπει να εισαγάγετε "\\n" επειδή το "\n" είναι χαρακτήρας νέας γραμμής.

    Παράδειγμα 2

    Χρήση ημερομηνίας()

    ΑΠΟΤΕΛΕΣΜΑ ΠΑΡΑΔΕΙΓΜΑΤΟΣ 2:

    Σήμερα: 10.11.05 13:03

  • mktime()- επιστρέφει τον απόλυτο χρόνο, ο οποίος μπορεί στη συνέχεια να χρησιμοποιηθεί με τις συναρτήσεις date() ή getdate(). Λαμβάνει έως και έξι ακέραια ορίσματα με την ακόλουθη σειρά:

    Παρακολουθώ
    λεπτά
    δευτερόλεπτα
    μήνας
    ημέρα του μήνα
    έτος

    Παράδειγμα 3

    Χρήση mktime()

    ΑΠΟΤΕΛΕΣΜΑ ΠΑΡΑΔΕΙΓΜΑΤΟΣ 3:

  • ημερομηνία ελέγχου ()- έλεγχος της ορθότητας της ημερομηνίας. Επιχειρήματα: μήνας, ημέρα, έτος. Επιστρέφει true εάν η ημερομηνία είναι σωστή, π.χ.
    μήνας - ένας ακέραιος αριθμός από 1 έως 12.
    Η ημέρα είναι ένας ακέραιος αριθμός που δεν υπερβαίνει τον συνολικό αριθμό ημερών σε έναν δεδομένο μήνα. Στην περίπτωση αυτή, τα δίσεκτα έτη επεξεργάζονται σωστά.
    Το έτος είναι ένας ακέραιος αριθμός από το 1 έως το 32767.

    Για παράδειγμα:

    Αν (!checkdate($month, 1, $year)) ( $d = getdate(); $month = $d; $year = $d; )

    Προσοχή! Η ημερομηνία μπορεί να είναι εντός ενός έγκυρου εύρους, αλλά άλλες συναρτήσεις ημερομηνίας δεν θα αποδεχτούν την τιμή. Έτσι, η mktime() δεν θα πρέπει να χρησιμοποιείται για χρόνια πριν από το 1902 και θα πρέπει επίσης να χρησιμοποιείται με προσοχή για χρόνια πριν από το 1970.

  • strftime()- σχηματισμός τοπικής ημερομηνίας και ώρας. Ορίσματα: συμβολοσειρά μορφής και απόλυτος χρόνος. Το δεύτερο όρισμα είναι προαιρετικό. Επιστρέφει μια συμβολοσειρά με τη δεδομένη ή την τρέχουσα ημερομηνία στην καθορισμένη μορφή. Σε αυτήν την περίπτωση, τα ονόματα των μηνών και των ημερών της εβδομάδας εξάγονται από τις τοπικές ρυθμίσεις που έχουν επιλεγεί χρησιμοποιώντας τη συνάρτηση Η συμβολοσειρά μορφής μπορεί να περιέχει τους ακόλουθους κωδικούς:
    %έναΣυντομευμένο όνομα της ημέρας της εβδομάδας
    %ΕΝΑΠλήρες όνομα της ημέρας της εβδομάδας
    %σιΣυντομευμένο όνομα μήνα
    %ΣΙΌνομα πλήρους μήνα
    %ντοΠροτιμώμενη μορφή ημερομηνίας και ώρας
    %ΝΤΟΑριθμός αιώνα
    %ρεΗμέρα του μήνα (1-31)
    %ΡΕΤο ίδιο με %m/%d/%y
    %μιΜήνας (1-12)
    %hΤο ίδιο με %σι
    %HΡολόι (24ωρη μορφή)
    %ΕΓΩΡολόι (μορφή 12 ωρών)
    %jΗμέρα του χρόνου (0-365)
    Μήνας (1-12)
    λεπτά
    %nΝέα γραμμή χαρακτήρα
    Περιλαμβάνεται η σημείωση "πμ" ή "μμ".
    %rΏρα με χρήση σημειογραφίας π.μ./μ.μ
    %RΏρα σε μορφή 24 ωρών
    %ΜΙΚΡΟΔευτερόλεπτα (00-59)
    %tΧαρακτήρας καρτέλας
    %TΤο ίδιο με %H:%M:%S
    %uΑριθμός ημέρας της εβδομάδας (1 - Δευτέρα, 7 - Κυριακή)
    %UΑριθμός εβδομάδας. Η αντίστροφη μέτρηση ξεκινά την πρώτη Κυριακή του χρόνου
    %VΑριθμός εβδομάδας σύμφωνα με το ISO 8601:1988. Η πρώτη εβδομάδα πρέπει να έχει τουλάχιστον τέσσερις ημέρες και η Δευτέρα θεωρείται η πρώτη μέρα
    %WΑριθμός εβδομάδας. Η αντίστροφη μέτρηση ξεκινά την πρώτη Δευτέρα του χρόνου
    %wΑριθμός ημέρας της εβδομάδας (0 - Κυριακή, 6 - Σάββατο)
    Προτιμώμενη μορφή ημερομηνίας χωρίς ώρα
    Προτιμώμενη μορφή ώρας χωρίς ημερομηνία
    %yΈτος (δύο βαθμοί)
    %YΈτος (τέσσερις βαθμοί)
    %ZΖώνη ώρας (όνομα ή συντομογραφία)
    %% Σύμβολο "%"

    Οποιεσδήποτε άλλες πληροφορίες περιλαμβάνονται στη συμβολοσειρά μορφοποίησης θα εισαχθούν στη συμβολοσειρά που επιστρέφεται.

Η εργασία με την ημερομηνία και την ώρα στην PHP είναι σχετικά εύκολη. Η παρουσία ενός αρκετά μεγάλου αριθμού συναρτήσεων καθιστά τον κώδικα όχι τόσο δυσκίνητο (και στην PHP 5.2 με την εμφάνιση του DateTime και στο 5.3 με την προσθήκη των κλάσεων DateInterval και DatePeriod και μεμονωμένων μεθόδων - η εργασία με ημερομηνίες έχει γίνει ακόμη πιο απλή και πιο βολικός). Οπότε, για να δουλέψουμε με την ημερομηνία... Πρώτα, σε κάθε περίπτωση, θα πρέπει να έχετε υπόψη σας ότι:

  • σχεδόν οποιαδήποτε ενέργεια μπορεί να γίνει με διάφορους τρόπους.
  • όλος ο κώδικας είναι γραμμένος για επίδειξη και παραδείγματα εργασίας.
  • Το προτεινόμενο εναλλακτικό αποτέλεσμα μπορεί να μην είναι πάντα κατάλληλο όταν χρησιμοποιείτε μια παλαιότερη έκδοση της PHP (μερικές φορές πιο εύκολη από την επεξεργασία κώδικα εργασίας πριν από πολλά χρόνια).

Στην PHP 5.3 να λειτουργεί σωστά με ημερομηνίες για να αποφευχθούν σφάλματα αυστηρών προτύπων. Σήμερα, κατά κανόνα, αυτή η κατάσταση λαμβάνεται υπόψη είτε σε σενάρια είτε σε ρυθμίσεις φιλοξενίας.

Η PHP μετατρέπει τη χρονική σήμανση UNIX σε ημερομηνία σε δεδομένη μορφή

Μια από τις πιο απλές εργασίες. Η συνάρτηση που χρησιμοποιείται είναι: ημερομηνία ($format, $time)
Η πρώτη παράμετρος μεταβιβάζει τη μορφή ημερομηνίας - για περισσότερες λεπτομέρειες, ανατρέξτε στην τεκμηρίωση (για τη "συνήθη" 28.02.2012 15:43:59 πρέπει να χρησιμοποιείται:
ημερομηνία ("d.m.Y H:i:s", $time)

PHP πώς να μάθετε την αυριανή/χθεσινή ημερομηνία

Όλα είναι απλά και εδώ. Η συνάρτηση time() λαμβάνει την τρέχουσα ώρα σε μορφή Timestamp UNIX. Αφαιρούμε (τη χθεσινή ημερομηνία) ή προσθέτουμε (αύριο) τον απαιτούμενο αριθμό δευτερολέπτων (86400 = 3600*24 - σε ημέρες) και παίρνουμε:
$τώρα = χρόνος(); // δεν απαιτείται
$χθες = ώρα()-3600*24;
$αύριο = ώρα()+3600*24;
$weekBefore = time() - 3600*24*7; // πριν από μία εβδομάδα
echo "Yesterday: ",date("d.m.Y", $westerday)"
Αύριο:",date("d.m.Y",$tomorrow);

PHP πώς να λάβετε μια ημερομηνία με μια συγκεκριμένη μετατόπιση (Χ ημέρες νωρίτερα/αργότερα)

Μερικές φορές χρειάζεται να μάθετε μια ημερομηνία που θα απέχει αρκετές ημέρες από την καθορισμένη. Για παράδειγμα, ο χρήστης πλήρωσε για την υπηρεσία στις 11 Φεβρουαρίου 2013 για 3 εβδομάδες. Πληροφορίες πληρωμής είναι διαθέσιμες. Μέχρι ποια ημερομηνία πληρώνεται;

Όταν μπορείτε "απλώς" να προσθέσετε μερικές ημέρες και να λάβετε 13 Φεβρουαρίου, η διαδικασία δεν προκαλεί ιδιαίτερες δυσκολίες. Τι γίνεται όμως με τον διαφορετικό αριθμό ημερών σε ένα μήνα; Τι γίνεται με τα δίσεκτα έτη; Όλα έχουν ήδη εφευρεθεί πριν από εμάς - για να υπολογίσουμε την ημερομηνία από ένα γνωστό διάστημα θα χρησιμοποιήσουμε το mktime

$payment = array("day"=>11,"month"=>2,"year"=>2013);
$toDate = mktime(0,0,0,$payment["month"],$payment["day"]+3*7,$payment["year"]);
echo date("d.m.Y",$toDate); // συμπέρασμα
// σε PHP > 5.3 χρησιμοποιώντας DateInterval
date_default_timezone_set("Ευρώπη/Μόσχα");
$datetime = νέα DateTime(ημερομηνία());
$datetime->sub(new DateInterval("P7D")); // μείον 7 ημέρες

PHP πώς να υπολογίσετε τη διαφορά μεταξύ ημερομηνιών

Φαίνεται μια απλή κατάσταση - υπάρχουν δύο ημερομηνίες, μετρήστε τον αριθμό των ημερών (μήνες και ημέρες) μεταξύ τους. Ωστόσο, μια "χειροκίνητη" υλοποίηση θα χρειαστεί λίγο χρόνο και υπάρχει πιθανότητα να χάσετε κάτι (για διασκέδαση - όσοι θέλουν να δοκιμάσουν μπορούν να αφήσουν τον κωδικό στα σχόλια). Η PHP έχει μια ενσωματωμένη συνάρτηση date_diff για τον υπολογισμό της διαφοράς μεταξύ ημερομηνιών ή ακριβέστερα Datetime::diff
$datetime1 = new DateTime("2013-05-01");
$datetime2 = new DateTime("2013-01-01");
$interval = $datetime1->diff($datetime2);
echo $interval->format("%R%a ημέρες μετά την Πρωτοχρονιά");

Η PHP μετατρέπει DDD ημέρες σε X έτη Y μήνες Z έτη

Μερικές φορές χρειάζεται να εμφανίσετε την ώρα μετά από ένα συγκεκριμένο συμβάν. Για παράδειγμα, μετά την εγγραφή πέρασε. Για ευκολία (3200 ημέρες δεν σημαίνουν πολλά), η αντίληψη μπορεί να μετατραπεί σε χρόνια και μήνες χρησιμοποιώντας τη μορφοποίηση DateInterval::format
$registerDate = new DateTime("2009-03-03");
$σήμερα = νέα DateTime();
$interval = $today->diff($registerDate);
echo "Πέρασε από την εγγραφή: ";
echo $interval->format("%a days")."\n"; // συνολικός αριθμός ημερών
ηχώ "ή ";
echo $interval->format("%m μήνες, %d ημέρες"); // μήνες, ημέρες

Μετάφραση PHP από ημερομηνία σε χρονική σήμανση - ημερομηνία ανάλυσης σε ρωσική μορφή

Μερικές φορές χρειάζεται να μετατρέψετε μια ημερομηνία σε μορφή που είναι εύκολο να διαβαστεί στη μορφή UNIX TIMESTAMP Για να αναλύσετε μια ημερομηνία με τη μορφή «2013-05-30 12:35» στα στοιχεία της (πάρτε χωριστά το έτος, ο μήνας, η ημέρα. ), μπορείτε να χρησιμοποιήσετε τη συνάρτηση date_parse. Για να μετατρέψετε απευθείας σε unix timestamp, μπορείτε να χρησιμοποιήσετε το strtotime (καθώς και παραλλαγές όπως 'τώρα', '+1 ημέρα', 'επόμενη Πέμπτη' - php.net/manual/en/datetime.formats.php):
echo strtotime("30-05-2013");
print_r (date_parse ("2013-05-30 12:35"));

Ωστόσο, για τη Ρωσία η πιο γνωστή μορφή είναι ΗΗ.ΜΜ.ΕΕΕΕ. Μπορείτε, φυσικά, να διαχωρίσετε την ημερομηνία με το σύμβολο της περιόδου, να λάβετε την ημέρα, τον μήνα, το έτος και να χρησιμοποιήσετε τη συνάρτηση mktime για να μάθετε την αντίστοιχη τιμή TIMESTAMP του UNIX. Το PHP5.3 εισήγαγε τη συνάρτηση date_parse_from_format, στην οποία μπορείτε να περάσετε μια συμβολοσειρά μορφής. Και για το PHP5.2 χρησιμοποίησα το strptime (την ύπαρξη του οποίου, όπως αποδείχθηκε, δεν γνωρίζουν όλοι, ίσως επειδή απλά δεν εφαρμόζεται για Windows: Αυτή η λειτουργία δεν εφαρμόζεται σε πλατφόρμες Windows):

$date = "05/30/2013 12:35";
$format = "d.m.Y H:i";
print_r (date_parse_from_format($format,$date));
// εναλλακτική επιλογή για PHP5.2
$format = "%d.%m.%Y %H:%M"; // διαφορετικό από αυτό που χρησιμοποιείται στη συνάρτηση ημερομηνίας
$d = strptime($date, $format);
$newDate = mktime($d["tm_hour"], $d["tm_min"], $d["tm_sec"],
$d["tm_mon"]+1, $d["tm_mday"], $d["tm_year"]+1900); // tm_mon 0-11, tm_year 1900
echo $newDate;

Επιπλέον, η συνάρτηση strptime έχει ειδικά χαρακτηριστικά - ο μήνας μετατοπίζεται κατά ένα (Ιανουάριος - 0) και το έτος είναι ο αριθμός των ετών από το 1900, δηλ. για το 2013 $d[’tm_year’] θα ισούται με 113.

Σύνδεσμοι και χρήσιμες πληροφορίες:
PHP dateTime Λειτουργίες http://www.php.net/manual/en/ref.datetime.php - λειτουργίες για εργασία με ημερομηνία
Κατηγορία PHP DateTime http://www.php.net/manual/en/class.datetime.php
PHP date_diff http://www.php.net/manual/en/function.date-diff.php
PHP strftime http://ru2.php.net/manual/en/function.strftime.php
PHP date_parse_from_format http://ru2.php.net/manual/en/function.date-parse-from-format.php

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

Ας δημιουργήσουμε ένα άλλο αρχείο php και ας ονομάσουμε αυτό το αρχείο time.php. Το μελετήσαμε νωρίτερα, αν το ξεχάσατε, επαναλάβετε.

Δημιουργήσαμε λοιπόν το αρχείο time.php και τοποθετήσαμε αυτό το αρχείο στον προηγουμένως δημιουργημένο φάκελο myphp στο . Μελετήσαμε αυτό το θέμα στο μάθημα

Ανοίξτε τον κώδικα του αρχείου time.php και ανάμεσα στις ετικέτες Και

γράψε τον παρακάτω κώδικα: Λίστα 1:

Λίστα 1.

Σήμερα:

Τρέχουσα ώρα

Εκκινούμε τον Τοπικό διακομιστή, πληκτρολογούμε τη διεύθυνση στη γραμμή διευθύνσεων του προγράμματος περιήγησης http://localhost/myphp/time.phpκαι πατήστε Enter. Και βλέπουμε αυτή την εικόνα:

Λάβετε υπόψη ότι σε αυτήν την περίπτωση εμφανίζεται η τρέχουσα ώρα διακομιστή,εκείνοι. εάν, για παράδειγμα, ο διακομιστής στον οποίο «ζει» ο ιστότοπός σας βρίσκεται σε άλλη χώρα και η τρέχουσα ώρα διαφέρει από τη Μόσχα, τότε η τιμή ώρας που εμφανίζεται θα διαφέρει επίσης από τη Μόσχα.

Ας δούμε τον κώδικα Καταχώρηση 1. Κανονικές ετικέτες κειμένου " Σήμερα" Και " Τρέχουσα ώρα" δεν υποβάλλονται σε επεξεργασία από τον προεπεξεργαστή PHP και εξάγονται ως "είναι". Αντί για αυτές τις καταχωρήσεις, μπορείτε να γράψετε οποιοδήποτε κείμενο, για παράδειγμα απλώς ημερομηνίαή χρόνοςκαι τα λοιπά.

Και εδώ είναι ο κώδικας php που περικλείεται σε περιγραφείςΠριν δοθεί στο πρόγραμμα περιήγησης, υποβάλλεται σε επεξεργασία από την PHP.

Όπως πιθανότατα έχετε ήδη καταλάβει, η συνάρτηση ημερομηνίας στην PHP υπεύθυνος για την ημερομηνία και την ώρα εξόδου. Οι τιμές εμφάνισης ημερομηνίας και ώρας εμφανίζονται σε παρένθεση. Υπάρχουν πολλές τέτοιες τιμές στην PHP και θα αφιερώσουμε το επόμενο ξεχωριστό μάθημα σε αυτήν την ανάλυση και μελέτη όλων των πιθανών τιμών.

Ο τελεστής ηχούς μεταφράζεται ως αποσύρω, στην περίπτωση αυτή εννοούμε εμφάνιση στην οθόνη της οθόνης ΗμερομηνίαΚαι Ώρα διακομιστή.

Το ίδιο αποτέλεσμα (εμφάνιση στο πρόγραμμα περιήγησης) μπορεί να επιτευχθεί τοποθετώντας ολόκληρο το σενάριο μέσα σε περιγραφείς PHP. Κοίτα Λίστα 2:

Λίστα 2.

echo "Σήμερα:" ;
ημερομηνία ηχούς ("j F Y");
ηχώ "Τρέχουσα ώρα" ;
echo date ("H:i:s");
?>

Όλα τα στοιχεία κειμένου που προορίζονται για έξοδο πρέπει να περικλείονται σε εισαγωγικά. Οι συμβολοσειρές κειμένου μπορούν να περικλείονται είτε σε μονά είτε σε διπλά εισαγωγικά, θα μιλήσουμε για τη διαφορά αργότερα. Δημοσιεύσεις:

ηχώ "Σήμερα" ;

ηχώ "Σήμερα" ;

είναι εντελώς ισοδύναμα και θα εμφανίζονται το ίδιο.

Ο χαρακτήρας διαστήματος πριν από το εισαγωγικό κλεισίματος χρησιμοποιείται για να διαχωρίσει την έξοδο της συνάρτησης ημερομηνίας από το περιβάλλον κείμενο. Όλες οι εντολές στην PHP διαχωρίζονται πάντα με ένα ερωτηματικό.

Για να εμφανίσετε την Ημερομηνία και την Ώρα στον ιστότοπο, εισαγάγετε τον κωδικό Λίστα 1ή Λίστα 2στο σωστό μέρος στην ιστοσελίδα σας. Για να δώσετε στις επιγραφές (Ημερομηνία και ώρα) ένα γενικό στυλ σχεδίασης για τον ιστότοπο, μπορείτε να χρησιμοποιήσετε.

ΥΣΤΕΡΟΓΡΑΦΟ.

Επιτρέψτε μου να σας υπενθυμίσω ότι το αρχείο στο οποίο τοποθετείτε ένθετα PHP πρέπει να έχει την επέκταση .php, και επιπλέον, η φιλοξενία στην οποία «ζει» ο ιστότοπός σας πρέπει να υποστηρίζει PHP (σήμερα αυτό είναι σχεδόν όλο Είναι προφανές ότι πολύ συχνά οι προγραμματιστές πρέπειεργασία με ημερομηνία και ώρα . Το απλούστερο παράδειγμα είναι η ημερομηνία και η ώρα αποστολής ενός μηνύματος σε ένα φόρουμ. Και, φυσικά, τέτοια πράγματα μπορούν να πραγματοποιηθούν PHP , ειδικά επειδή υπάρχουν ευκαιρίες γιαεργασία με ημερομηνία και ώρα στην PHP

τόσα πολλά. Βασική λειτουργία που σχετίζεται μεημερομηνία και ώρα σε PHP , - Αυτόσυνάρτηση time(). , το οποίο επιστρέφει τον αριθμό των δευτερολέπτων που έχουν περάσει από τότεμεσάνυχτα 01/01/1970 (η γέννηση της εποχής):

Unix
?>

echo time(); , το οποίο επιστρέφει τον αριθμό των δευτερολέπτων που έχουν περάσει από τότεΕκτελώντας αυτό το σενάριο, θα μάθετε πόσα δευτερόλεπτα έχουν περάσει από τότε μέχρι την κλήσησυναρτήσεις time().

στο σενάριό σου. Είναι προφανές ότι πολύ συχνά οι προγραμματιστές πρέπει(τουλάχιστον από αυτές που ξέρω) υπάρχει μια άλλη συνάρτηση που ονομάζεται getdate():

$datetime = getdate();
foreach ($datetime ως $k=>$v)
ηχώ "$k - $v
";
?>

Εκτελώντας αυτό το σενάριο, θα δείτε ένα σύνολο πλήκτρων στον πίνακα και τις αντίστοιχες τιμές τους (την ίδια στιγμή, επαναλάβαμε την κατασκευή για κάθε). Νομίζω ότι τώρα δεν θα σας είναι δύσκολο να μάθετε δεδομένα σχετικά με ημερομηνία και ώρα. Για παράδειγμα, για να εμφανίσετε την τρέχουσα ώρα, θα γράψετε τον ακόλουθο κώδικα:

$datetime = getdate();
echo $datetime["hours"]..":".$datetime["minutes"]..":".$datetime["seconds"];
?>

Επίσης συναρτήσεις getdate().υπάρχει μια προαιρετική παράμετρος που σημαίνει τον αριθμό των δευτερολέπτων που έχουν περάσει από τότε , το οποίο επιστρέφει τον αριθμό των δευτερολέπτων που έχουν περάσει από τότε. Είναι φτιαγμένο έτσι ώστε αυτή η συνάρτηση να μπορεί να επιστρέψει όχι μόνο την τρέχουσα ώρα και ημερομηνία, αλλά, γενικά, οποιαδήποτε:

$datetime = getdate(152353232);
echo $datetime["year"];
?>

Ως αποτέλεσμα, θα δείτε 1974έτος.

Υπάρχει επίσης συνάρτηση date().. Συνιστώ να δείτε την περιγραφή του στο βιβλίο αναφοράς, καθώς αυτή η συνάρτηση παίρνει μια πολύ περίπλοκη παράμετρο που καθορίζει τη μορφή εξόδου ημερομηνίας. Υπάρχουν λίγο περισσότερα από 30 στοιχεία μορφοποίησης. Και στο παρακάτω παράδειγμα θα δώσω μερικά από αυτά και θα εξετάσω τα υπόλοιπα στο βιβλίο αναφοράς, γιατί δεν χρειάζεται να τα απομνημονεύσετε, αλλά καλό είναι να εξοικειωθείτε με αυτά. Αλλά είναι απαραίτητο να γνωρίζουμε την αρχή της χρήσης τους και το ακόλουθο παράδειγμα σχετικά με αυτό:

echo date("Today d.m.Y H:i:s");
?>

Ως αποτέλεσμα, θα δείτε κάτι σαν αυτό: " Σήμερα 15/11/2010 21:44:24". Επίσης συναρτήσεις date().Υπάρχει επίσης μια δεύτερη προαιρετική παράμετρος που καθορίζει χρονική σήμανση, ακριβώς την τιμή ίση με τον αριθμό των δευτερολέπτων που έχουν περάσει από τότε , το οποίο επιστρέφει τον αριθμό των δευτερολέπτων που έχουν περάσει από τότε. Παράδειγμα χρήσης της δεύτερης παραμέτρου:

echo date("Μια φορά κι έναν καιρό υπήρχε d.m.Y H:i:s", 5393235329);
?>

Υπάρχει επίσης συνάρτηση gmdate()., που είναι ένα πλήρες ανάλογο συναρτήσεις date()., Αλλά συνάρτηση gmdate().δείχνει την ώρα όχι σύμφωνα με τη ζώνη ώρας του διακομιστή στον οποίο εκτελείται το σενάριο, αλλά σύμφωνα με Γκρήνουιτς. Προφανώς, χρησιμοποιώντας αυτήν τη λειτουργία πρέπει να αποθηκεύσετε όλες τις πληροφορίες σχετικά με την ημερομηνία και την ώρα που βλέπει ο χρήστης και κατά την έξοδο πρέπει να προσαρμόζεστε στη ζώνη ώρας κάθε χρήστη (ιδανικά, φυσικά):

echo gmdate ("Τώρα στο Greenwich D M j H:i:s T Y")
?>

Ως αποτέλεσμα, θα δείτε κάτι σαν αυτό: " Δευ 15 Νοεμβρίου 18:52:45 GMT 2010"Φυσικά, θα δείτε διαφορετική ημερομηνία, αλλά σε παρόμοια μορφή. Σας συνιστώ επίσης ανεπιφύλακτα να μπείτε στο βιβλίο αναφοράς και απλώς να εξοικειωθείτε με άλλα στοιχεία ημερομηνίας και ώρας στο . Το απλούστερο παράδειγμα είναι η ημερομηνία και η ώρα αποστολής ενός μηνύματος σε ένα φόρουμ. Και, φυσικά, τέτοια πράγματα μπορούν να πραγματοποιηθούν(Έδωσα μόνο ένα τρίτο), αφού συναρτήσεις date() και gmdate().- αυτός είναι ο πιο εύκολος και γρήγορος τρόπος λάβετε ημερομηνία και ώρασχεδόν σε οποιαδήποτε μορφή.