Υπάρχει τρόπος να αλλάξετε τη μορφή τύπου εισόδου ="ημερομηνία";

Εργάζομαι με στοιχεία HTML5 στην ιστοσελίδα μου. Από προεπιλογή η είσοδος type="date" εμφανίζει την ημερομηνία ως YYYY-MM-DD.

Το ερώτημα είναι, είναι δυνατόν να αλλάξω τη μορφή της σε κάτι σαν: DD-MM-YYYY;

Λύση

Δεν είναι δυνατόν να αλλάξει η μορφή

Πρέπει να κάνουμε διάκριση μεταξύ της μορφής over the wire και της μορφής παρουσίασης του προγράμματος περιήγησης.

Μορφή καλωδίου

Η προδιαγραφή εισαγωγής ημερομηνίας HTML5 αναφέρεται στην προδιαγραφή RFC3339, η οποία καθορίζει μια μορφή πλήρους ημερομηνίας ίση με: yyyy-mm-dd. Ανατρέξτε στην ενότητα 5.6 της προδιαγραφής RFC3339 για περισσότερες λεπτομέρειες.

Μορφή παρουσίασης

Οι φυλλομετρητές δεν έχουν περιορισμούς στον τρόπο παρουσίασης της εισαγωγής ημερομηνίας. Τη στιγμή που γράφονται αυτές οι γραμμές, οι Chrome, Edge, Firefox και Opera υποστηρίζουν την ημερομηνία (βλ. εδώ). Όλοι εμφανίζουν έναν επιλογέα ημερομηνίας και μορφοποιούν το κείμενο στο πεδίο εισαγωγής.

Συσκευές επιτραπέζιων υπολογιστών

Για το Chrome, το Firefox και το Opera, η μορφοποίηση του κειμένου του πεδίου εισαγωγής βασίζεται στη ρύθμιση γλώσσας του προγράμματος περιήγησης. Για τον Edge, βασίζεται στη ρύθμιση γλώσσας των Windows. Δυστυχώς, όλα τα προγράμματα περιήγησης ιστού αγνοούν τη μορφοποίηση ημερομηνίας που έχει ρυθμιστεί στο λειτουργικό σύστημα. Για μένα αυτή είναι μια πολύ περίεργη συμπεριφορά και κάτι που πρέπει να λάβετε υπόψη σας όταν χρησιμοποιείτε αυτόν τον τύπο εισόδου. Για παράδειγμα, οι Ολλανδοί χρήστες που έχουν ρυθμίσει το λειτουργικό τους σύστημα ή τη γλώσσα του προγράμματος περιήγησης σε en-us θα εμφανίσουν την ένδειξη 01/30/2019 αντί της μορφής που έχουν συνηθίσει: 30-01-2019.

Ο Internet Explorer 9, 10 και 11 εμφανίζει ένα πεδίο εισαγωγής κειμένου με τη μορφή σύρματος.

Κινητές συσκευές

Ειδικά για το Chrome σε Android, η μορφοποίηση βασίζεται στη γλώσσα εμφάνισης του Android. Υποψιάζομαι ότι το ίδιο ισχύει και για άλλα προγράμματα περιήγησης, αν και δεν μπόρεσα να το επαληθεύσω.

Σχόλια (26)

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

Σχόλια (3)

Το Google Chrome στην τελευταία beta έκδοσή του χρησιμοποιεί επιτέλους την είσοδο type=date και η μορφή είναι DD-MM-YYYY.

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

Σχόλια (5)