Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> PHP /MySQL Προγραμματισμός

Πώς να υπολογίσετε Διαφορά ώρας με PHP

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

1 Ανοίξτε ένα αρχείο HTML και πληκτρολογήστε τον ακόλουθο κώδικα στο " " στοιχείο :

timeDiff λειτουργία ( $ πρώτο , $ τελευταία) {

Αυτό ανοίγει ένα tag της PHP και καθορίζει μια νέα λειτουργία που ονομάζεται " timeDiff " που δέχεται δύο παραμέτρους . Αυτά θα είναι με τη μορφή των δύο ημερομηνιών με « ΕΕΕΕ- MM - DD HH : MM : SS " μορφή , επιτρέποντας στις προκαθορισμένες λειτουργίες PHP να τους χειραγωγήσουν 2

Πληκτρολογήστε τα ακόλουθα : .

if ($ πρώτο > $ τελευταία) {

$ tmp = $ τελευταία ?

δολάρια το περασμένο = $ πρώτα?

$ first = $ tmp ?

}

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

Πληκτρολογήστε τον ακόλουθο κώδικα :

$ firstTime = strtotime ( $ πρώτο)?

$ lastTime = strtotime ( $ τελευταία) ?

$ $ έτη = ημέρες = $ ώρες = $ λεπτά = 0 ?

$ δευτερόλεπτα = $ $ lastTime - firstTime ?

Οι δύο πρώτες γραμμές δημιουργούν ένα ζεύγος μεταβλητών από τις δύο παραμέτρους ημερομηνία και να μετατρέψετε κάθε μια σε ένα τον αριθμό των δευτερολέπτων που πέρασε από 1η Ιανουαρίου 1970 (ώρα Unix ), έτσι ώστε οι τιμές μπορούν να τροποποιηθούν . Η τρίτη γραμμή δημιουργεί τέσσερις μεταβλητές μέτρησης και τους προετοιμάζει στο μηδέν . Η τελευταία γραμμή δημιουργεί μια μεταβλητή που παίρνει τη διαφορά σε δευτερόλεπτα από την πρώτη ημέρα μέχρι την τελευταία ημερομηνία
Η

4 Πληκτρολογήστε τον ακόλουθο κώδικα : .

Ενώ ( $ δευτερόλεπτα > = 31536000 ) {

$ έτη = $ έτη + 1 ?

$ δευτερόλεπτα = $ δευτερόλεπτα - 31.536.000 ?

}

ενώ δευτερόλεπτα ( $ > = 86400 ) {

$ ημέρες = $ ημέρες + 1 ?

$ δευτερόλεπτα = $ δευτερόλεπτα - 86400 ?

}

ενώ ( $ δευτερόλεπτα > = 3600 ) {

$ ώρες = $ ώρες + 1 ?

$ δευτερόλεπτα = $ δευτερόλεπτα - 3600 ?

}

ενώ δευτερόλεπτα ( $ > ? = 60 ) {

$ λεπτά = $ λεπτά + 1 ?

$ δευτερόλεπτα = $ δευτερόλεπτα - 60 ?

}

Αυτά τα μπλοκ ελαττώνει τον αξία των $ δευτερόλεπτα μεταβλητή για να υπολογίσετε πόσα χρόνια , μέρες , ώρες και τα λεπτά έχουν περάσει . Επειδή ο αριθμός των ημερών κάθε μήνα διαφέρει , δεν είναι πρακτικό να μετρήσει τον αριθμό
5

Πληκτρολογήστε τα ακόλουθα : .

Echo $ έτη . « Χρόνια» . $ ημέρες . " Ημέρες " . $ ώρες . " Ώρες " .

$ Λεπτά . « Λεπτά» . $ δευτερόλεπτα . " Δευτερόλεπτα . "? ;

}

>

Αυτές οι γραμμές εμφανίσει απλά τη διαφορά ώρας με την ιστοσελίδα επισκέπτης που χρησιμοποιεί την ηχώ δήλωση και στη συνέχεια κλείστε τη λειτουργία timeDiff και PHP tag
Η 6

Πληκτρολογήστε τα ακόλουθα : .

echo timeDiff ( " 2011-06-13 12:15:07 " , " 2011-07-09 18:35:15 " ) ?

echo timeDiff ( " 2010-04-16 12:00:00 " , " 2011-04-16 12:00:00 " ) ?

echo timeDiff ( " 2012 - 12-01 00:00:00 " , ημερομηνία ( « YMD h : i : s ', χρόνος ( ) ) ) ?

echo timeDiff ( ημερομηνία ( « YMD h : i : s ' , χρόνος ( ) ) , " 01/12/2012 00:00:00 " ) ?

Αυτές οι τέσσερις γραμμές είναι τέσσερα παραδείγματα της λειτουργίας timeDiff στην εργασία . Η πρώτη υπολογίζει τη διαφορά και επιστρέφει την τιμή μηδέν χρόνια , 26 ημέρες , έξι ώρες, 20 λεπτά και οκτώ δευτερόλεπτα . Η δεύτερη επιστρέφει ακριβώς ένα χρόνο . Το τρίτο και το τέταρτο δύο χρησιμοποιούν τις πληροφορίες ημερομηνίας και ώρας PHP λειτουργίες για να δημιουργήσει μία από τις παραμέτρους ? Τον ακριβή χρόνο στον υπολογιστή του επισκέπτη . Σημειώστε ότι περνούν τις ίδιες τιμές , αλλά κατά την αντίθετη σειρά. Επειδή έχετε ελέγξει για αυτό κατά την έναρξη της λειτουργίας timeDiff , και οι δύο επιστρέφουν τα ίδια αποτελέσματα ? Ωστόσο , τα αποτελέσματα αυτά αλλάζουν δυναμικά ανάλογα με την ώρα και την ημέρα που ένας επισκέπτης φορτώνει τη σελίδα

Η .

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα