Συμπεριφορά και μορφή της στήλης ημερομηνίας και ώρας
Στο Microsoft Dataverse, μπορείτε να καθορίσετε τον τρόπο με τον οποίο εμφανίζονται οι τιμές ημερομηνίας και ώρας στους χρήστες καθώς και τον τρόπο προσαρμογής τους για τις ζώνες ώρας.
Υπάρχουν διαθέσιμες δύο επιλογές για στήλες ημερομηνίας και ώρας.
- Συμπεριφορά: Μπορείτε να ρυθμίσετε τις τιμές για τις ζώνες ώρας.
- Μορφή: Εάν θα εμφανίζεται το τμήμα χρόνου της τιμής.
Συμπεριφορά
Το Dataverse αποθηκεύει όλες τις τιμές ημερομηνίας και ώρας στη ζώνη ώρας UTC. Όταν η εφαρμογή σας εμφανίζει τιμές ή επεξεργάζεται τιμές που εισάγονται από τους χρήστες, οι εφαρμογές Dataverse και οι εφαρμογές που βασίζονται σε μοντέλα μπορούν να προσαρμόζονται στη ζώνη ώρας του χρήστη με αυτές τις επιλογές Συμπεριφοράς.
- Τοπικός χρήστης: Προσαρμόστε τις τιμές για τη ζώνη ώρας του χρήστη. Αυτή είναι η προεπιλεγμένη συμπεριφορά. Μπορείτε να το αλλάξετε αυτό μια φορά σε μια άλλη συμπεριφορά.
- Ανεξάρτηση ζώνη ώρας: Καμία μετατροπή ζώνης ώρας.
- Μόνο ημερομηνία: Καμία μετατροπή ζώνης ώρας. Αντίθετα με την ανεξάρτητη ζώνη ώρας, το τμήμα ώρας δεν αποθηκεύεται.
Η ζώνη ώρας του χρήστη ορίζεται σε προσωπικές επιλογές και όχι στη ζώνη ώρας του συστήματος στα Windows, Android, iOS ή σε macOS. Ωστόσο, η ζώνη ώρας του συστήματος ενδέχεται να επηρεάσει τις δέσμες ενεργειών υπολογιστή-πελάτη που λειτουργούν με ημερομηνίες JavaScript.
Format
Όλες οι στήλες ημερομηνίας και ώρας έχουν ένα τμήμα ώρας, εκτός εάν η συμπεριφορά τους είναι Μόνο ημερομηνία. Μορφή: καθορίζει εάν θα εμφανιστεί το χρονικό τμήμα της τιμής.
- Ημερομηνία και ώρα σύσκεψης: Εμφανίζει την ημερομηνία και την ώρα της τιμής.
- Μόνο ημερομηνία: Εμφανίζει μόνο το τμήμα της ημερομηνίας της τιμής.
Σημείωση
Οι χρήστες εξακολουθούν να μπορούν να αλλάξουν το τμήμα χρόνου εάν η μορφή είναι Μόνο ημερομηνία. Για παράδειγμα, με τις κλήσεις ΑΡΙ Web ή με τη χρήση ενός στοιχείου ελέγχου που έχει το τμήμα χρόνου. Αυτό είναι διαφορετικό από τη συμπεριφορά Μόνο ημερομηνία, όπου το τμήμα χρόνου δεν αποθηκεύεται καθόλου.
Οδηγίες χρήσης
Χρησιμοποιήστε συμπεριφορά Ανεξαρτήτως ζώνης ώρας όταν δεν απαιτούνται πληροφορίες για τη ζώνη ώρας, όπως οι ώρες check-in σε ξενοδοχεία. Με αυτή την επιλογή, οι χρήστες σε όλες τις ζώνες ώρας βλέπουν την ίδια τιμή ημερομηνίας και ώρας.
Χρησιμοποιήστε τη συμπεριφορά Μόνο ημερομηνία όταν δεν απαιτούνται πληροφορίες σχετικά με την ώρα της ημέρας και τη ζώνη ώρας, όπως γενέθλια ή επετείους. Με αυτή την επιλογή, οι χρήστες σε όλες τις ζώνες ώρας βλέπουν ακριβώς την ίδια τιμή ημερομηνίας.
Η συμπεριφορά Ανεξαρτήτως ζώνης ώρας με τη μορφή Μόνο ημερομηνία είναι πρακτικά η ίδια με τη συμπεριφορά Μόνο ημερομηνία. Χρησιμοποιήστε το πρώτο, εάν δεν είστε βέβαιοι εάν χρειάζεστε το τμήμα χρόνου στο μέλλον.
Σημαντικό
Αποφύγετε τη μορφή Μόνο ημερομηνία με συμπεριφορά Τοπική ώρα χρήστη. Οι χρήστες που χρησιμοποιούν διαφορετικές ζώνες ώρας ενδέχεται να δουν μια διαφορετική ημερομηνία, κάτι που δεν προβλέπεται στις περισσότερες περιπτώσεις. Όταν ένας χρήστης ορίζει μια ημερομηνία σε μια εφαρμογή που καθορίζεται από μοντέλο, το τμήμα ώρας θα οριστεί αυτόματα στα μεσάνυχτα της ζώνης ώρας του. Αυτό ενδέχεται να προκαλέσει την εμφάνιση της ημερομηνίας μια ημέρα νωρίτερα ή αργότερα για άλλους χρήστες.
Παραδείγματα
Εμφανιζόμενες τιμές
Το Dataverse αποθηκεύει 2023-10-15T07:30:00Z
(ή 2023-10-15
για συμπεριφορά Μόνο ημερομηνία). Οι χρήστες στη ζώνη ώρας UTC-8 τα βλέπουν στην εφαρμογή βάσει μοντέλου ή με μια αίτηση Web API για τη μορφοποιημένη τιμή:
Συμπεριφορά | Format | Εμφανιζόμενη τιμή |
---|---|---|
Τοπική ώρα χρήστη | Ημερομηνία και ώρα | 14 Οκτωβρίου 2023, 11:30 μ.μ. |
Τοπική ώρα χρήστη | Μόνο ημερομηνία | 14 Οκτωβρίου 2023 |
Ανεξαρτήτως ζώνης ώρας | Ημερομηνία και ώρα | 15 Οκτωβρίου 2023, 7:30 π.μ. |
Ανεξαρτήτως ζώνης ώρας | Μόνο ημερομηνία | 15 Οκτωβρίου 2023 |
Μόνο ημερομηνία | - | 15 Οκτωβρίου 2023 |
Εισαγωγή τιμών σε εφαρμογή
Οι χρήστες στη ζώνη ώρας UTC-8 καταχωρούν σε October 14th, 2023, 11:30 pm
μια εφαρμογή που καθορίζεται από μοντέλο. Η τιμή αποθηκεύεται στο Dataverse ως:
Συμπεριφορά | Format | Αποθηκευμένη τιμή στο Dataverse |
---|---|---|
Τοπική ώρα χρήστη | Ημερομηνία και ώρα | 2023-10-15T07:30:00Z |
Τοπική ώρα χρήστη | Μόνο ημερομηνία | 2023-10-15T07:30:00Z |
Ανεξαρτήτως ζώνης ώρας | Ημερομηνία και ώρα | 2023-10-14T23:30:00Z |
Ανεξαρτήτως ζώνης ώρας | Μόνο ημερομηνία | 2023-10-14T23:30:00Z |
Μόνο ημερομηνία | - | 2023-10-14 |
Εάν ο χρήστης εισαγάγει μόνο την ημερομηνία October 14th, 2023
, το τμήμα ώρας έχει διάρκεια 12:00 π.μ.
Συμπεριφορά | Format | Αποθηκευμένη τιμή στο Dataverse |
---|---|---|
Τοπική ώρα χρήστη | Μόνο ημερομηνία | 2023-10-14T08:00:00Z |
Ανεξαρτήτως ζώνης ώρας | Μόνο ημερομηνία | 2023-10-14T00:00:00Z |
Μόνο ημερομηνία | - | 2023-10-14 |
Εισαγωγή μη έγκυρων τιμών σε εφαρμογή
Διαφορετικά προγράμματα-πελάτες έχουν διαφορετικούς τρόπους χειρισμού εισόδου που δεν είναι έγκυροι. Για παράδειγμα, στη ζώνη ώρας Ειρηνικού, η θερινή ώρα ξεκίνησε στις 12 Μαρτίου 2023 στις 2:00 π.μ., μετακινώντας την ώρα μπροστά μία ώρα στις 3:00 π.μ. Η ώρα μεταξύ 2:00 π.μ. και 3:00 π.μ. εκείνης της ημέρας δεν υπάρχει. Όταν οι χρήστες προσπαθούν να καταχωρήσουν μια τιμή σε αυτό το εύρος ημερομηνιών, οι εφαρμογές μπορεί να κάνουν μία από τις εξής ενέργειες:
- Αλλαγή στην προηγούμενη ή την επόμενη έγκυρη ώρα.
- Επαναφορά στην τελευταία γνωστή τιμή.
- Εμφάνιση μηνύματος σφάλματος.
- Μην εμφανίσετε ώρες μεταξύ 2:00 π.μ. και 3:00 π.μ. στην επιλογή ώρας, ώστε οι χρήστες να μην μπορούν να τις επιλέξουν από την αρχή.
Ομοίως, διαφορετικοί πελάτες έχουν διαφορετικούς τρόπους χειρισμού επαναλαμβανόμενων χρονικών περιόδων. Για παράδειγμα, στη ζώνη ώρας Ειρηνικού, η θερινή ώρα έληξε στις 5 Νοεμβρίου 2023 στις 2:00 π.μ., μετακινώντας την ώρα πίσω μία ώρα στις 1:00 π.μ. Η ώρα μεταξύ 1:00 π.μ. και 2:00 π.μ. εκείνης της ημέρας επαναλαμβάνεται δύο φορές. Μια ώρα όπως η 1:30 π.μ. θα μπορούσε να αναφέρεται σε μία από τις δύο ζώνες ώρας. Εάν χρειάζεται να εμφανίσετε ή να καταχωρήσετε με σαφή τρόπο ώρες σε αυτό το εύρος, είναι καλύτερα να μεταβείτε προσωρινά σε μια ζώνη ώρας που δεν χρησιμοποιεί τη θερινή ώρα.
Λήψη μη επεξεργασμένων τιμών με το API Web
Το Dataverse αποθηκεύει 2023-10-15T07:30:00Z
(ή 2023-10-15
για συμπεριφορά Μόνο ημερομηνία). Οι χρήστες σε όλες τις ζώνες ώρας λαμβάνουν αυτά με μια αίτηση Web API για την τιμή:
Συμπεριφορά | Format | Μη επεξεργασμένη τιμή |
---|---|---|
Τοπική ώρα χρήστη | Ημερομηνία και ώρα | 2023-10-15T07:30:00Z |
Τοπική ώρα χρήστη | Μόνο ημερομηνία | 2023-10-15T07:30:00Z |
Ανεξαρτήτως ζώνης ώρας | Ημερομηνία και ώρα | 2023-10-15T07:30:00Z |
Ανεξαρτήτως ζώνης ώρας | Μόνο ημερομηνία | 2023-10-15T07:30:00Z |
Μόνο ημερομηνία | - | 2023-10-15 |
Λήψη τιμών με το API προγράμματος-πελάτη
Οι χρήστες στη ζώνη ώρας UTC-8 καταχωρούν σε October 14th, 2023, 11:30 pm
μια εφαρμογή που καθορίζεται από μοντέλο. Οι λειτουργίες API προγράμματος-πελάτη όπωςformContext.getAttribute(<column name>).getValue()
επιστρέφουν την τιμή με τις προσαρμογές της ζώνης ώρας που εφαρμόζονται:
Συμπεριφορά | Format | JavaScript dateValue.toUTCString() |
---|---|---|
Τοπική ώρα χρήστη | Ημερομηνία και ώρα | 2023-15-10 07:30 (UTC) |
Τοπική ώρα χρήστη | Μόνο ημερομηνία | 2023-15-10 07:30 (UTC) |
Για τη συμπεριφορά Ανεξαρτήτως ζώνης ώρας, η τιμή Ημερομηνία JavaScript είναι στη ζώνη ώρας του προγράμματος περιήγησης:
Συμπεριφορά | Format | JavaScript dateValue.toString() |
---|---|---|
Ανεξαρτήτως ζώνης ώρας | Ημερομηνία και ώρα | 2023-10-14 23:30 (ζώνη ώρας προγράμματος περιήγησης) |
Ανεξαρτήτως ζώνης ώρας | Μόνο ημερομηνία | 2023-10-14 23:30 (ζώνη ώρας προγράμματος περιήγησης) |
Οι τιμές ημερομηνίας JavaScript έχουν πάντα ένα στοιχείο χρόνου. Για αυτό η συμπεριφορά Μόνο ημερομηνία έχει στοιχείο ώρας 12:00 π.μ.:
Συμπεριφορά | Format | JavaScript dateValue.toString() |
---|---|---|
Μόνο ημερομηνία | - | 2023-10-15 00:00 (ζώνη ώρας προγράμματος περιήγησης) |
Σημείωση
Οι τιμές ημερομηνίας JavaScript επηρεάζονται από τη ζώνη ώρας του προγράμματος περιήγησης, η οποία προέρχεται από τις ρυθμίσεις του λειτουργικού συστήματος της συσκευής.
Για συμπεριφορά τοπικού χρήστη, το αποτέλεσμα του API πελάτη θα πρέπει να ερμηνεύεται ως τιμή UTC. Χρησιμοποιήστε Date.getUTCDate()
, Date.getUTCHours()
κλπ. για να εργαστείτε με αυτό. Για να κάνετε αυτό που βλέπει ο χρήστης, εφαρμόστε το getTimeZoneOffsetMinutes. Μην χρησιμοποιήσετε Date.getDate()
, Date.getHours()
κλπ. επειδή θα εμφανίζεται η τιμή στη ζώνη ώρας του προγράμματος περιήγησης.
Για συμπεριφορά Ανεξαρτήτως ζώνης ώρας και Μόνο ημερομηνία, το αποτέλεσμα του API προγράμματος-πελάτη θα πρέπει να ερμηνεύεται ως τιμή στη ζώνη ώρας του προγράμματος περιήγησης. Χρησιμοποιήστε Date.getDate()
, Date.getHours()
κλπ. για να εργαστείτε με αυτό. Μην χρησιμοποιείτε Date.getUTCDate()
,Date.getUTCHours()
κλπ επειδή δεν χρειάζεται να προσαρμόσετε καμία ζώνη ώρας.
Αλλαγή συμπεριφοράς τοπικής ώρας χρήστη
Εκτός και αν ο εκδότης μιας διαχειριζόμενης λύσης το αποτρέψει αυτό, μπορείτε να αλλάξετε τη συμπεριφορά υφιστάμενων προσαρμοσμένων στηλών ημερομηνίας από Τοπική ώρα χρήστη σε Μόνο ημερομηνία ή Ανεξάρτητο από ζώνη ώρας. Αυτή η αλλαγή μπορεί να γίνει μία φορά.
Η αλλαγή της συμπεριφοράς της στήλης επηρεάζει τις τιμές στηλών που έχουν προστεθεί ή τροποποιηθεί μετά την αλλαγή της συμπεριφοράς της στήλης. Οι υπάρχουσες τιμές στηλών παραμένουν στη βάση δεδομένων με τη μορφή ζώνης ώρας UTC. Για να αλλάξετε τη συμπεριφορά των υπαρχουσών τιμών των στηλών από UTC σε Μόνο ημερομηνία ίσως χρειαστείτε τη βοήθεια ενός προγραμματιστή για να μετατρέψετε συμπεριφορά υπαρχουσών τιμών ημερομηνίας και ώρας στη βάση δεδομένων.
Προειδοποίηση
Προειδοποίηση: Για να αλλάξετε τη συμπεριφορά μιας υφιστάμενης στήλης ημερομηνίας και ώρας πρέπει να ελέγξετε όλες τις εξαρτήσεις της στήλης, όπως επιχειρηματικούς κανόνες, ροές εργασίας, στήλες υπολογισμού ή συνάθροισης, για να εξασφαλίσετε ότι δεν θα προκύψουν προβλήματα εξαιτίας της αλλαγής της συμπεριφοράς. Μετά την αλλαγή της συμπεριφοράς της στήλης ημερομηνίας και ώρας, ανοίξτε κάθε επιχειρηματικό κανόνα, ροή εργασίας, στήλη υπολογισμού και συνάθροισης ανάλογα με το πεδίο που αλλάξατε, να εξετάσετε τις πληροφορίες και να τις αποθηκεύσετε για να βεβαιωθείτε ότι χρησιμοποιείται η πιο πρόσφατη συμπεριφορά και τιμή της στήλης ημερομηνίας και ώρας.
Αλλαγή συμπεριφοράς κατά την εισαγωγή μιας λύσης
Όταν εισάγετε μια λύση που περιέχει μια στήλη ημερομηνίας με τη συμπεριφορά Τοπική ώρα χρήστη, μπορείτε να αλλάξετε τη συμπεριφορά σε Μόνο ημερομηνία ή Ανεξάρτητο από ζώνη ώρας.
Σημείωση
Μπορείτε να αλλάξετε τη συμπεριφορά μιας υπάρχουσας διαχειριζόμενης στήλης Μόνο ημερομηνίας ή Ημερομηνία και ώρα, εάν είστε ο εκδότης. Για να κάνετε μια αλλαγή σε αυτά τα πεδία, πρέπει να γίνει αναβάθμιση στη λύση που πρόσθεσε τη στήλη Μόνο ημερομηνία ή Ημερομηνία και ώρα. Περισσότερες πληροφορίες: Αναβάθμιση ή ενημέρωση λύσης
Αποτροπή αλλαγής συμπεριφοράς
Εάν κατανέμετε μια προσαρμοσμένη στήλη ημερομηνίας σε μια διαχειριζόμενη λύση, αποτρέψτε τα άτομα που χρησιμοποιούν τη λύση σας από το να αλλάξουν τη συμπεριφορά ορίζοντας τη διαχειριζόμενη ιδιότητα CanChangeDateTimeBehavior σε False. Περισσότερες πληροφορίες: Ορισμός διαχειριζόμενων ιδιοτήτων για στήλες
Οι τελεστές ερωτήματος ημερομηνίας και ώρας δεν υποστηρίζονται για συμπεριφορά Μόνο ημερομηνία
Οι παρακάτω τελεστές ερωτήματος που σχετίζονται με την ημερομηνία και την ώρα δεν είναι έγκυροι για τη συμπεριφορά Μόνο ημερομηνία. Εμφανίζεται σφάλμα εξαίρεσης μη έγκυρου τελεστή όταν χρησιμοποιείται στο ερώτημα ένας από αυτούς τους τελεστές.
- Παλαιότερο από Χ λεπτά
- Παλαιότερο από Χ ώρες
- Τελευταίες Χ ώρες
- Επόμενες X ώρες
Δείτε επίσης
Αντιμετώπιση προβλημάτων ημερομηνίας και ώρας σε εφαρμογές βάσει μοντέλου
Δημιουργία και επεξεργασία στηλών
Ορισμός στηλών υπολογισμού για την αυτοματοποίηση μη αυτόματων υπολογισμών
Στήλη διαχειριζόμενων ιδιοτήτων
Διαχειριζόμενες ιδιότητες
Ιστολόγιο: Εργασία με ζώνες ώρας στο Dataverse
Ρυθμίστε τη συμπεριφορά και τη μορφή της στήλης ημερομηνίας και ώρας χρησιμοποιώντας κώδικα
Σημείωση
Μπορείτε να μας πείτε ποια γλώσσα προτιμάτε για την τεκμηρίωση; Πάρτε μέρος σε μια σύντομη έρευνα. (σημειώνεται ότι αυτή η έρευνα είναι στα Αγγλικά)
Η έρευνα θα διαρκέσει περίπου επτά λεπτά. Δεν συλλέγονται προσωπικά δεδομένα (δήλωση προστασίας προσωπικών δεδομένων).