Εμφάνιση ημερομηνίας και ώρας Πώς να το κάνετε σωστά
Τους συναντάμε ημερομηνίες και ώρες ... καλά, κάθε μέρα. Όταν πρόκειται για τον Ιστό, μπορείτε να τα εντοπίσετε στις εφαρμογές σας για κινητά, σε μηνύματα ηλεκτρονικού ταχυδρομείου, στις εφαρμογές ανταλλαγής μηνυμάτων και σε πολλά άλλα μέρη. Παρ 'όλα αυτά, βλέποντας την ημερομηνία και την ώρα κάθε μέρα και παντού, δεν έχουμε ακόμη υιοθετήσει μια καθολική μορφή για αυτό.
Για παράδειγμα, εάν γράψω στις 10/05/2015, δεν μπορείτε ποτέ να είστε σίγουροι ότι αυτό το "10" είναι ο μήνας ή η ημερομηνία εκτός αν σας πω από πού είμαι. Μερικές φορές αλλάζει η μορφή, άλλες φορές η γλώσσα.
Είναι σημαντικό ότι, ως προγραμματιστές ιστοσελίδων, δίνουμε προσοχή στην ημερομηνία και την ώρα που αντιμετωπίζουμε στα σχέδιά μας, έτσι ώστε να μπορέσουμε τα φροντίζουν σε διαφορετικούς γεωγραφικούς κατοίκους χωρίς καμία σύγκρουση. Σε αυτή τη θέση θα συζητήσουμε τι να αποφύγετε και τι να αγκαλιάσετε όταν πρόκειται για την εμφάνιση ημερομηνίας-ώρας.
Παγκοσμιοποίηση
Ας υποθέσουμε ότι δεν θέλουμε να μετατρέψουμε και να παρουσιάσουμε διαφορετικές μορφές ημερομηνίας και ώρας σε διαφορετικούς θεατές σε όλο τον κόσμο, τι μπορούμε να κάνουμε; Επιλέγουμε μια παγκόσμια μορφή και κολλάμε με αυτό. Εδώ έρχονται σε ισχύ ορισμένα πρότυπα. Πριν φτάσουμε σε αυτό, πρέπει να ενημερώσω ότι το W3C συνιστά να χρησιμοποιήσουμε τη μορφή ημερομηνίας ISO 8601 με τη ζώνη ώρας UTC.
ISO 8601
Το ISO 8601 περιγράφει έναν διεθνώς αποδεκτό τρόπο για να αντιπροσωπεύει τις ημερομηνίες και τις ώρες χρησιμοποιώντας αριθμούς.
Και η μορφή για την πλήρη ημερομηνία είναι? ΕΕΕΕ-ΜΜ-ΔΔ
, για παράδειγμα: 2015-07-28
ΕΕΕΕ = τετραψήφιο έτος
ΜΜ = διψήφιος μήνας (01 = Ιανουάριος, κ.λπ.)
DD = διψήφια ημέρα (01 έως 31)
Για πλήρη ημερομηνία-ώρα?ΕΕΕΕ-ΜΜ-DDThh: mm: ss.s
, για παράδειγμα: 2015-07-28Τ21: 15: 18.45
T = Διαχωρισμός ημερομηνίας και ώρας σύμφωνα με το πρότυπο ISO 8601
mm = 2 ψηφία λεπτά (00 έως 59)
ss = 2 ψηφία δεύτερη (00 έως 59)
s = δεκαδικό κλάσμα ενός δευτερολέπτου, 1 ή περισσότερα ψηφία
Σημειώστε ότι καθώς δεν έχει αναφερθεί καμία ζώνη ώρας στο παραπάνω παράδειγμα, πρέπει να θεωρηθεί ότι η ώρα είναι στην τοπική ζώνη ώρας. Εάν έχετε αποφασίσει να χρησιμοποιήσετε τη ζώνη ώρας UTC, απλώς προσθέστε Ζ στην τιμή που θα υποδηλώνει UTC
Για παράδειγμα: 2015-07-28Τ21: 15: 18.45Ζ
Αλλά αν θέλετε να εμφανίσετε την τοπική ώρα, τότε μπορείτε να προσθέσετε a offset ζωνών ώρας για το UTC με την τιμή στις μορφές +hh: mm
ή -hh: mm
όπως απαιτείται.
Για παράδειγμα: Ας υποθέσουμε 2015-07-28Τ21: 15: 18.45
βρίσκεται στη ζώνη ώρας EST (Eastern Standard Time) που παραμένει 5 ώρες πίσω από τη ζώνη ώρας UTC.
Για να την εκπροσωπήσουμε με UTC μετατόπιση γράφουμε 2015-07-28Τ21: 15: 18.45-05: 00
η οποία είναι ισοδύναμη με την ώρα UTC 2015-07-29Τ02: 15: 18.45Ζ
.
Πάλι Ζ προσαρτάται για να αντιπροσωπεύει ότι η ημερομηνία εμφάνισης της ώρας είναι σε ώρα UTC.
UTC έναντι GMT
Και οι δύο είναι ίδιες αλλά διαφορετικές. Μέχρι τώρα έχετε έρθει σε GMT τουλάχιστον μία φορά. ενώ ρυθμίζετε την ημερομηνία και ώρα στο κινητό σας τηλέφωνο ή στον υπολογιστή σας. Είναι η πιο δημοφιλής ζώνη ώρας που αναγνωρίζεται παγκοσμίως αφού έχει υπάρξει περισσότερο από την UTC.
Ενώ κάποιοι μπορεί να πουν ότι και οι δύο είναι οι ίδιοι αλλά δεν είναι, το UTC είναι διάδοχος του GMT και διατηρείται από τη Διεθνή Ένωση Τηλεπικοινωνιών. Συνιστάται να ανατρέχετε σε χρόνο που βασίζεται σε UTC και όχι σε GMT.
Χρησιμοποιήστε το όνομα των μηνών
Το πρότυπο ISO χρησιμοποίησε μόνο αριθμούς στην αναπαράσταση ημερομηνίας για να αποφευχθεί οποιαδήποτε σύγκρουση γλωσσών. Αλλά, εάν το περιεχόμενο της εφαρμογής σας στο διαδίκτυο πρόκειται να είναι στα αγγλικά, τότε θα πρέπει να εξετάσετε την εγγραφή μηνών στα αγγλικά και όχι στους αριθμούς.
Αντί 2015-07-28
, 28 Ιουλίου, 2015
είναι ευκολότερο να κατανοηθεί από πολλούς, και λιγότερο σύγχυση.
Εντοπισμός
Υπάρχουν φορές που θέλουμε να είμαστε πολύ συγκεκριμένοι με τις υπηρεσίες μας και θα θέλαμε να αναπαριστούμε την ημερομηνία και την ώρα στις τοπικές ζώνες και γλώσσες. Υπάρχουν πολλές βιβλιοθήκες και API διαθέσιμα για τους υπεύθυνους ανάπτυξης ιστού να κάνουν χρήση και να εμφανίζουν τις ημερομηνίες και τις ώρες σύμφωνα με την περιοχή πρόσβασης.
Μπορείτε να πάρετε την προεπιλεγμένη τοπική ρύθμιση του προγράμματος περιήγησης είτε ερμηνεύοντας το Αποδοχή γλώσσας
αίτημα κεφαλίδας ή μέσω του γλώσσα πλοήγησης ή πλοήγησης
Αντικείμενο JavaScript, αλλά η καλύτερη μέθοδος είναι να αφήστε το χρήστη να επιλέξει μια τοπική ρύθμιση στην εφαρμογή σας δεδομένου ότι οι προηγούμενοι τρόποι δεν είναι πολύ αξιόπιστοι.
Μόλις έχετε την τοπική ρύθμιση, μπορείτε να διαμορφώσετε την ημερομηνία ανάλογα με την ημερομηνία, για παράδειγμα χρησιμοποιώντας το API διεθνοποίησης, μπορείτε να διαμορφώσετε μια ημερομηνία χρησιμοποιώντας toLocaleDateString
στο JavaScript, για παράδειγμα, myDate.toLocaleDateString ('ko-KR')
θα επιστρέψει μια μορφοποιημένη ημερομηνία στη μορφή που χρησιμοποιείται στην Κορέα από κορεάτικα μιλώντας ιθαγενείς.
Θερινή ώρα (DST)
Σε ορισμένες χώρες η θερινή ώρα γίνεται με την προώθηση των ρολογιών κατά μία ώρα το καλοκαίρι για να αξιοποιηθεί το επιπλέον ηλιακό φως. Να γνωρίζετε το DST για να συμβαδίσετε με τις τοπικές ώρες στις υπηρεσίες σας.
Χωρίς Διψήφιο Έτος
Κατά την προσαρμογή της ημερομηνίας και της ώρας για τον εντοπισμό, μην χρησιμοποιείτε τη διψήφια μορφή για το έτος σε οποιοδήποτε σημείο. Είμαστε ήδη στον 21ο αιώνα. Χρησιμοποιώντας χρόνια όπως 64
, 99
κ.λπ. θα είναι ενοχλητικές στο μέλλον. Εάν ήδη διαθέτετε ένα σύστημα διψήφιου έτους, μπορείτε να το αλλάξετε.
Χρόνο άλματος και άλλα ημερολόγια
Ας τερματίσουμε αυτήν την ανάρτηση με μερικά διαφορετικά πράγματα που πρέπει να θυμόμαστε όταν ασχολούμαστε με ημερομηνίες. Εάν δεν χρησιμοποιείτε κάποια βιβλιοθήκη ή API για ημερομηνίες και θέλετε να τα αντιμετωπίσετε μόνοι σας (δηλαδή δεν συνιστάται παρ 'όλα αυτά), μην ξεχάσετε να δείξετε τις 29 Φεβρουαρίου στις εισόδους για τα άλματα.
Επίσης, αξίζει να σημειωθεί ότι το Το Γρηγοριανό ημερολόγιο δεν είναι η μοναδική μορφή διαθέσιμου και χρησιμοποιημένου ημερολογίου σε όλον τον κόσμο. Υπάρχουν λίγα περιφερειακά ημερολόγια που ακολουθούν οι ντόπιοι, ειδικά όταν πρόκειται για εορταστικές εκδηλώσεις.
βιβλιογραφικές αναφορές
- Διεθνής Ένωση Τηλεπικοινωνιών: Κατάσταση συντονισμένης παγκόσμιας ώρας (UTC) στη ITU-R
- ISO: ISO 8601 - Μορφή ημερομηνίας και ώρας
- Wikipedia: Συντονισμένη παγκόσμια ώρα
- Wikipedia: Θερινή ώρα
- Wikipedia: Γκρήνουιτς Μέση Χρόνος
- W3C Σημείωση: Μορφές ημερομηνίας και ώρας
- Συμβουλές W3C: Χρησιμοποιήστε τη διεθνή μορφή ημερομηνίας (ISO)