Συμπεριφορά και μορφή της στήλης ημερομηνίας και ώρας

Στο Microsoft Dataverse, μπορείτε να καθορίσετε τον τρόπο με τον οποίο εμφανίζονται οι τιμές ημερομηνίας και ώρας στους χρήστες καθώς και τον τρόπο προσαρμογής τους για τις ζώνες ώρας.

Εκτός από τις τυπικές ιδιότητες που είναι διαθέσιμες με τις περισσότερες στήλες, οι στήλες ημερομηνίας και ώρας έχουν δύο επιπλέον ιδιότητες:

  • Προσαρμογή ζώνης ώρας: Εάν θα προσαρμόζονται οι τιμές για τις ζώνες ώρας.
  • Μορφή: Εάν θα εμφανίζεται το τμήμα χρόνου της τιμής.

Προσαρμογή ζώνης ώρας

Το Dataverse αποθηκεύει όλες τις τιμές ημερομηνίας και ώρας στη ζώνη ώρας UTC. Όταν η εφαρμογή σας εμφανίζει τιμές ή επεξεργάζεται τιμές που εισάγονται από τους χρήστες, οι εφαρμογές Dataverse και οι εφαρμογές που βασίζονται σε μοντέλα μπορούν να προσαρμόζονται στη ζώνη ώρας του χρήστη με αυτές τις επιλογές Συμπεριφοράς.

  • Τοπικός χρήστης: Προσαρμόστε τις τιμές για τη ζώνη ώρας του χρήστη. Αυτή είναι η προεπιλεγμένη συμπεριφορά για τη μορφή ημερομηνία και ώρα. Μπορείτε να το αλλάξετε αυτό μια φορά σε μια άλλη συμπεριφορά.
  • Ανεξάρτηση ζώνη ώρας: Καμία μετατροπή ζώνης ώρας. Αυτή είναι η προεπιλεγμένη συμπεριφορά για τη μορφή Μόνο ημερομηνία.

Ορίστε τη ζώνη ώρας του χρήστη σε προσωπικές επιλογές και όχι στη ζώνη ώρας του συστήματος στα Windows, Android, iOS ή macOS. Ωστόσο, η ζώνη ώρας του συστήματος ενδέχεται να επηρεάσει τις δέσμες ενεργειών υπολογιστή-πελάτη που λειτουργούν με ημερομηνίες JavaScript.

Μορφοποίηση

Όλες οι στήλες ημερομηνίας και ώρας έχουν ένα τμήμα ώρας, εκτός εάν η συμπεριφορά τους είναι Μόνο ημερομηνία. Μορφή: καθορίζει εάν θα εμφανιστεί το χρονικό τμήμα της τιμής.

  • Ημερομηνία και ώρα: Εμφανίζει την ημερομηνία και την ώρα της τιμής.
  • Μόνο ημερομηνία: Εμφανίζει μόνο το τμήμα της ημερομηνίας της τιμής.

Σημείωμα

Οι χρήστες εξακολουθούν να μπορούν να αλλάξουν το τμήμα χρόνου εάν η μορφή είναι Μόνο ημερομηνία. Για παράδειγμα, χρησιμοποιώντας κλήσεις Web API ή χρησιμοποιώντας ένα στοιχείο ελέγχου που περιέχει το τμήμα ώρας. Αυτή η συμπεριφορά είναι διαφορετική από τη Συμπεριφοράμόνο ημερομηνίας, όπου το τμήμα ώρας δεν αποθηκεύεται καθόλου.

Οδηγίες χρήσης

Χρησιμοποιήστε την επιλογή Ζώνη ώρας ανεξάρτητα όταν δεν απαιτούνται πληροφορίες ζώνης ώρας, όπως ώρα check-in σε ξενοδοχείο. Με αυτή την επιλογή, οι χρήστες σε όλες τις ζώνες ώρας βλέπουν την ίδια τιμή ημερομηνίας και ώρας.

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

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

Σημαντικό

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

Παραδείγματα

Εμφανιζόμενες τιμές

Το Dataverse αποθηκεύει 2023-10-15T07:30:00Z2023-10-15 για συμπεριφορά Μόνο ημερομηνία). Οι χρήστες στη ζώνη ώρας UTC-8 τις βλέπουν στην εφαρμογή με βάση το μοντέλο ή με μια αίτηση Web API για τη μορφοποιημένη τιμή:

Συμπεριφορά Μορφοποίηση Εμφανιζόμενη τιμή
Τοπική ώρα χρήστη Ημερομηνία και ώρα 14 Οκτωβρίου 2023, 11:30 μ.μ.
Τοπική ώρα χρήστη Μόνο ημερομηνία 14 Οκτωβρίου 2023
Ανεξαρτήτως ζώνης ώρας Ημερομηνία και ώρα 15 Οκτωβρίου 2023, 7:30 π.μ.
Ανεξαρτήτως ζώνης ώρας Μόνο ημερομηνία 15 Οκτωβρίου 2023
Μόνο ημερομηνία - 15 Οκτωβρίου 2023

Εισαγωγή τιμών σε εφαρμογή

Οι χρήστες στη ζώνη ώρας UTC-8 εισάγουν October 14th, 2023, 11:30 pm σε μια εφαρμογή που καθοδηγείται από μοντέλο. Η τιμή αποθηκεύεται στο Dataverse ως:

Συμπεριφορά Μορφοποίηση Αποθηκευμένη τιμή στο 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 π.μ.

Συμπεριφορά Μορφοποίηση Αποθηκευμένη τιμή στο 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:00Z2023-10-15 για συμπεριφορά Μόνο ημερομηνία). Οι χρήστες σε όλες τις ζώνες ώρας λαμβάνουν αυτές τις τιμές με μια αίτηση API Web για την τιμή:

Συμπεριφορά Μορφοποίηση Μη επεξεργασμένη τιμή
Τοπική ώρα χρήστη Ημερομηνία και ώρα 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() επιστρέφουν την τιμή με τις προσαρμογές της ζώνης ώρας που εφαρμόζονται:

Συμπεριφορά Μορφοποίηση Javascript dateValue.toUTCString()
Τοπική ώρα χρήστη Ημερομηνία και ώρα 2023-15-10 07:30 (UTC)
Τοπική ώρα χρήστη Μόνο ημερομηνία 2023-15-10 07:30 (UTC)

Για τη συμπεριφορά Ανεξαρτήτως ζώνης ώρας, η τιμή Ημερομηνία JavaScript είναι στη ζώνη ώρας του προγράμματος περιήγησης:

Συμπεριφορά Μορφοποίηση Javascript dateValue.toString()
Ανεξαρτήτως ζώνης ώρας Ημερομηνία και ώρα 2023-10-14 23:30 (ζώνη ώρας προγράμματος περιήγησης)
Ανεξαρτήτως ζώνης ώρας Μόνο ημερομηνία 2023-10-14 23:30 (ζώνη ώρας προγράμματος περιήγησης)

Οι τιμές ημερομηνίας JavaScript έχουν πάντα ένα στοιχείο χρόνου. Για αυτό η συμπεριφορά Μόνο ημερομηνία έχει στοιχείο ώρας 12:00 π.μ.:

Συμπεριφορά Μορφοποίηση 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
Ρυθμίστε τη συμπεριφορά και τη μορφή της στήλης ημερομηνίας και ώρας χρησιμοποιώντας κώδικα