Поля дати та часу

Поля дати та часу

Цей посібник показує, як працювати з класами полів дати та часу, орієнтованими на календар, у Aspose.Words FOSS для .NET — FieldDate, FieldCreateDate, FieldPrintDate, і FieldSaveDate — які реалізують Word’s DATE, CREATEDATE, PRINTDATE, і SAVEDATE поля відповідно. Кожен клас успадковується від Field і реалізує IFieldWithCalendar; для базового Field моделі об’єктів (оновлення, відв’язування, видалення та форматування будь-якого поля), дивіться the Робота з полями посібник.


Чотири класи полів дати та часу

FieldDate реалізує поле DATE. FieldCreateDate реалізує CREATEDATE, дату створення документа. FieldPrintDate реалізує PRINTDATE, дату останнього друку документа. FieldSaveDate реалізує SAVEDATE, дату останнього збереження документа. Усі чотири є підкласами Field і реалізують IFieldCodeTokenInfoProvider і IFieldWithCalendar, тому вони успадковують Field’s GetFieldCode(), Update(), Unlink(), Remove() та члени форматування (Format) разом зі своїми календарними перемикачами, описаними нижче.


Вибір не-григоріанського календаря

Кожен з чотирьох класів надає UseLunarCalendar (bool) для відображення результату за допомогою гігіра або єврейського місячного календаря, UseSakaEraCalendar (bool) для календаря ери Сака та UseUmAlQuraCalendar (bool) для календаря Ум-аль-Кура. Встановіть відповідну властивість у true перед викликом Update(), щоб поле переобчислило свій результат, використовуючи цю календарну систему замість типового григоріанського календаря.


FieldDate’s Перемикач застосування-формату

FieldDate додатково надає UseLastFormat (bool), який контролює, чи поле використовує формат, останній раз використаний хостинг-додатком, коли вставляється нове поле DATE. FieldCreateDate, FieldPrintDate та FieldSaveDate не надають цю властивість.


Поради та найкращі практики

  • Встановіть перемикач календаря (UseLunarCalendar, UseSakaEraCalendar або UseUmAlQuraCalendar) і потім викличте Update() для поля — зміна лише властивості не перераховує Result.
  • Встановіть лише один перемикач календаря в true для даного екземпляра поля; комбінування більш ніж одного дає неоднозначний результат.
  • Використовуйте Field.Format (a 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Відображає результат, використовуючи календар Сака
UseUmAlQuraCalendarВідображає результат, використовуючи календар Um-al-Qura
FieldDate.UseLastFormatВикористовує формат, який останній раз застосовував хостинг-додаток для нового поля DATE
IFieldWithCalendarІнтерфейс, реалізований усіма чотирма класами для результатів полів, що враховують календар

Дивіться також

 Українська