Πεδία ημερομηνίας και ώρας

Πεδία ημερομηνίας και ώρας

Πεδία Ημερομηνίας και Ώρας

Αυτός ο οδηγός δείχνει πώς να εργάζεστε με τις κλάσεις πεδίων ημερομηνίας και ώρας με επίγνωση του ημερολογίου στο Aspose.Words FOSS για .NET — FieldDate, FieldCreateDate, FieldPrintDate, και FieldSaveDate — που υλοποιούν το Word’s DATE, CREATEDATE, PRINTDATE, και SAVEDATE πεδία αντίστοιχα. Κάθε κλάση κληρονομεί από Field και υλοποιεί IFieldWithCalendar; για τη βασική Field μοντέλο αντικειμένου αυτό (ενημέρωση, αποσύνδεση, αφαίρεση και μορφοποίηση οποιουδήποτε πεδίου), δείτε το Εργασία με Πεδία οδηγός.


Οι τέσσερις κλάσεις πεδίων ημερομηνίας και ώρας

FieldDate υλοποιεί το πεδίο DATE. FieldCreateDate υλοποιεί το CREATEDATE, τη ημερομηνία δημιουργίας του εγγράφου. FieldPrintDate υλοποιεί το PRINTDATE, τη ημερομηνία τελευταίας εκτύπωσης του εγγράφου. FieldSaveDate υλοποιεί το SAVEDATE, τη ημερομηνία τελευταίας αποθήκευσης του εγγράφου. Όλα τα τέσσερα είναι υποκλάσεις του Field και υλοποιούν τα IFieldCodeTokenInfoProvider και IFieldWithCalendar, έτσι μοιράζονται τα GetFieldCode(), Update(), Unlink(), Remove() του Field, καθώς και τα μέλη μορφοποίησης (Format) μαζί με τις δικές τους εναλλάκτες ημερολογίου που περιγράφονται παρακάτω.


Επιλογή μη Γρηγοριανού ημερολογίου

Κάθε μία από τις τέσσερις κλάσεις εκθέτει το UseLunarCalendar (bool) για την απόδοση του αποτελέσματος χρησιμοποιώντας το Ητζριτικό σεληνιακό ή το Εβραϊκό σεληνιακό ημερολόγιο, το UseSakaEraCalendar (bool) για το ημερολόγιο της Εποχής Σάκα, και το UseUmAlQuraCalendar (bool) για το ημερολόγιο Um-al-Qura. Ορίστε την αντίστοιχη ιδιότητα σε true πριν καλέσετε το Update() ώστε το πεδίο να υπολογίσει ξανά το αποτέλεσμα χρησιμοποιώντας αυτό το σύστημα ημερολογίου αντί του προεπιλεγμένου Γρηγοριανού ημερολογίου.


Διακόπτης Εφαρμογή-Μορφή του FieldDate

FieldDate εκθέτει επίσης το UseLastFormat (bool), το οποίο ελέγχει εάν το πεδίο χρησιμοποιεί μια μορφή που χρησιμοποιήθηκε τελευταία από την εφαρμογή που το φιλοξενεί όταν εισάγεται ένα νέο DATE πεδίο. Τα FieldCreateDate, FieldPrintDate και FieldSaveDate δεν εκθέτουν αυτήν την ιδιότητα.


Συμβουλές και Καλές Πρακτικές

  • Ορίστε έναν διακόπτη ημερολογίου (UseLunarCalendar, UseSakaEraCalendar ή UseUmAlQuraCalendar) και στη συνέχεια καλέστε το Update() στο πεδίο — η αλλαγή μόνο της ιδιότητας δεν επαναϋπολογίζει το Result.
  • Ορίστε μόνο έναν διακόπτη ημερολογίου στο true σε ένα συγκεκριμένο στιγμιότυπο πεδίου· ο συνδυασμός περισσότερων από έναν δημιουργεί ασαφή αποτέλεσμα.
  • Χρήση Field.Format (α FieldFormat, καλυμμένο στο Μορφοποίηση Αποτελεσμάτων Πεδίου οδηγός) μαζί με αυτούς τους διακόπτες ημερολογίου για να ελέγχετε επίσης την αριθμητική ή τη μορφοποίηση ημερομηνίας/ώρας που εφαρμόζεται στο αποτέλεσμα.
  • Επιλέξτε την κλάση που ταιριάζει στη σημασιολογία που χρειάζεστε — τα FieldSaveDate και FieldPrintDate διαβάζουν τις χρονικές σφραγίδες που καταγράφηκαν στο έγγραφο, ενώ το FieldDate αντανακλά την ημερομηνία κατά την οποία ενημερώνεται το πεδίο.

Κοινά Προβλήματα

ΖήτημαΑιτίαΔιόρθωση
Η εναλλαγή ημερολογίου δεν επηρεάζει το εμφανιζόμενο αποτέλεσμαΤο πεδίο δεν επαναϋπολογίστηκε μετά τον ορισμό της ιδιότηταςΚλήστε Update() στο αντικείμενο πεδίου μετά τον ορισμό των UseLunarCalendar, UseSakaEraCalendar ή UseUmAlQuraCalendar
Το UseLastFormat δεν μεταγλωττίζεται σε FieldPrintDate ή FieldSaveDateΑυτή η ιδιότητα υπάρχει μόνο στο FieldDateΧρησιμοποιήστε το FieldDate για τη συμπεριφορά application-format-follows, ή ορίστε το Format ρητά στις άλλες κλάσεις
Το αποτέλεσμα εμφανίζει το λάθος σύστημα ημερολογίουΠερισσότερο από ένα διακόπτης ημερολογίου ορίστηκε σε true στο ίδιο πεδίοΟρίστε μόνο ένα από τα UseLunarCalendar, UseSakaEraCalendar, UseUmAlQuraCalendar ανά περίπτωση πεδίου

FAQ

Ποια είναι η διαφορά μεταξύ FieldDate και FieldCreateDate;

FieldDate υλοποιεί το πεδίο DATE (επαναϋπολογίζει στην τρέχουσα ημερομηνία κάθε φορά που ενημερώνεται); FieldCreateDate υλοποιεί το CREATEDATE (η ημερομηνία δημιουργίας του εγγράφου).

Πώς μπορώ να κάνω ένα πεδίο ημερομηνίας να χρησιμοποιεί το Hijri Lunar ημερολόγιο;

Ορίστε το UseLunarCalendar = true στην FieldDate, FieldCreateDate, FieldPrintDate ή FieldSaveDate περίπτωση, έπειτα καλέστε το Update().

Ποια από τις τέσσερις κλάσεις παρακολουθεί πότε αποθηκεύτηκε τελευταία φορά ένα έγγραφο;

FieldSaveDate, που υλοποιεί το πεδίο SAVEDATE.

Υποστηρίζουν αυτές οι κλάσεις προσαρμοσμένες μορφοποιήσεις εικόνων, όχι μόνο εναλλαγές ημερολογίου;

Ναι — το καθένα εκθέτει ένα Format ιδιότητα (FieldFormat) που κληρονομείται από την υποδομή του βασικού πεδίου· δείτε το Μορφοποίηση Αποτελεσμάτων Πεδίου οδηγός για NumericFormat and DateTimeFormat.


API Reference Περίληψη

Κλάση/ΜέθοδοςΠεριγραφή
FieldDateΥλοποιεί το πεδίο DATE
FieldCreateDateΥλοποιεί το πεδίο CREATEDATE
FieldPrintDateΥλοποιεί το πεδίο PRINTDATE
FieldSaveDateΥλοποιεί το πεδίο SAVEDATE
UseLunarCalendarΑπεικονίζει το αποτέλεσμα χρησιμοποιώντας το Ητζριτικό Σεληνιακό ή το Εβραϊκό Σεληνιακό ημερολόγιο
UseSakaEraCalendarΑπεικονίζει το αποτέλεσμα χρησιμοποιώντας το ημερολόγιο Saka Era
UseUmAlQuraCalendarΑπεικονίζει το αποτέλεσμα χρησιμοποιώντας το ημερολόγιο Um-al-Qura
FieldDate.UseLastFormatΧρησιμοποιεί μια μορφή που χρησιμοποιήθηκε τελευταία από την εφαρμογή φιλοξενίας για ένα νέο πεδίο DATE
IFieldWithCalendarΔιεπαφή που υλοποιείται από όλες τις τέσσερις κλάσεις για αποτελέσματα πεδίων με ευαισθησία στο ημερολόγιο

Δείτε επίσης

 Ελληνικά