Bidang Tanggal dan Waktu

Bidang Tanggal dan Waktu

Panduan ini menunjukkan cara bekerja dengan kelas bidang tanggal dan waktu yang menyadari kalender dalam Aspose.Words FOSS untuk .NET — FieldDate, FieldCreateDate, FieldPrintDate, dan FieldSaveDate — yang mengimplementasikan Word’s DATE, CREATEDATE, PRINTDATE, dan SAVEDATE field masing-masing. Setiap kelas diturunkan dari Field dan mengimplementasikan IFieldWithCalendar; untuk basis Field model objek itu sendiri (memperbarui, memutuskan tautan, menghapus, dan memformat setiap bidang), lihat the Bekerja dengan Field panduan.


Empat Kelas Bidang Tanggal dan Waktu

FieldDate mengimplementasikan bidang DATE. FieldCreateDate mengimplementasikan CREATEDATE, tanggal ketika dokumen dibuat. FieldPrintDate mengimplementasikan PRINTDATE, tanggal ketika dokumen terakhir dicetak. FieldSaveDate mengimplementasikan SAVEDATE, tanggal ketika dokumen terakhir disimpan. Keempatnya adalah subclass dari Field dan mengimplementasikan IFieldCodeTokenInfoProvider serta IFieldWithCalendar, sehingga mereka berbagi Field’s GetFieldCode(), Update(), Unlink(), Remove(), dan anggota pemformatan (Format) bersama saklar kalender mereka sendiri yang dijelaskan di bawah.


Memilih Kalender Non-Gregorian

Setiap dari keempat kelas mengekspos UseLunarCalendar (bool) untuk menampilkan hasil menggunakan kalender Hijri Lunar atau Hebrew Lunar, UseSakaEraCalendar (bool) untuk kalender Era Saka, dan UseUmAlQuraCalendar (bool) untuk kalender Um-al-Qura. Atur properti yang bersangkutan ke true sebelum memanggil Update() agar bidang menghitung ulang hasilnya menggunakan sistem kalender tersebut alih-alih kalender Gregorian default.


FieldDate’s Saklar Aplikasi-Format

FieldDate juga mengekspos UseLastFormat (bool), yang mengontrol apakah bidang menggunakan format yang terakhir digunakan oleh aplikasi host ketika bidang DATE baru disisipkan. FieldCreateDate, FieldPrintDate, dan FieldSaveDate tidak mengekspos properti ini.


Tips dan Praktik Terbaik

  • Atur saklar kalender (UseLunarCalendar, UseSakaEraCalendar, atau UseUmAlQuraCalendar) dan kemudian panggil Update() pada bidang — mengubah properti saja tidak menghitung ulang Result.
  • Atur hanya satu saklar kalender ke true pada suatu instance bidang; menggabungkan lebih dari satu menghasilkan hasil yang ambigu.
  • Gunakan Field.Format (sebuah FieldFormat, tercakup dalam Pemformatan Hasil Field panduan) bersama saklar kalender ini juga untuk mengontrol gambar pemformatan numerik atau tanggal/waktu yang diterapkan pada hasil.
  • Pilih kelas yang sesuai dengan semantik yang Anda butuhkan — FieldSaveDate dan FieldPrintDate membaca cap waktu yang tercatat dalam dokumen, sementara FieldDate mencerminkan tanggal apa pun ketika bidang diperbarui.

Masalah Umum

MasalahPenyebabPerbaikan
Sakelar kalender tidak berpengaruh pada hasil yang ditampilkanBidang tidak dihitung ulang setelah properti diaturPanggil Update() pada instance bidang setelah mengatur UseLunarCalendar, UseSakaEraCalendar, atau UseUmAlQuraCalendar
UseLastFormat tidak dapat dikompilasi pada FieldPrintDate atau FieldSaveDateProperti itu hanya ada pada FieldDateGunakan FieldDate untuk perilaku application-format-follows, atau atur Format secara eksplisit pada kelas lainnya
Hasil menunjukkan sistem kalender yang salahLebih dari satu saklar kalender diatur ke true pada bidang yang samaAtur hanya satu dari UseLunarCalendar, UseSakaEraCalendar, UseUmAlQuraCalendar per instance bidang

FAQ

Apa perbedaan antara FieldDate dan FieldCreateDate?

FieldDate mengimplementasikan bidang DATE (menghitung ulang ke tanggal saat ini setiap kali diperbarui); FieldCreateDate mengimplementasikan CREATEDATE (tanggal dokumen dibuat).

Bagaimana cara membuat bidang tanggal menggunakan kalender Hijri Lunar?

Setel UseLunarCalendar = true pada instance FieldDate, FieldCreateDate, FieldPrintDate, atau FieldSaveDate, lalu panggil Update().

Kelas mana dari empat kelas yang melacak kapan dokumen terakhir disimpan?

FieldSaveDate, yang mengimplementasikan bidang SAVEDATE.

Apakah kelas-kelas ini mendukung gambar format khusus, bukan hanya saklar kalender?

Ya — masing-masing mengekspos sebuah Format properti (FieldFormat) yang diwarisi dari infrastruktur bidang dasar; lihat Pemformatan Hasil Field panduan untuk NumericFormat and DateTimeFormat.


API Reference Ringkasan

Kelas/MetodeDeskripsi
FieldDateMengimplementasikan field DATE
FieldCreateDateMengimplementasikan field CREATEDATE
FieldPrintDateMenerapkan bidang PRINTDATE
FieldSaveDateMenerapkan bidang SAVEDATE
UseLunarCalendarMenampilkan hasil menggunakan kalender Hijri Lunar atau kalender Hebrew Lunar
UseSakaEraCalendarMenampilkan hasil menggunakan kalender Era Saka
UseUmAlQuraCalendarMenampilkan hasil menggunakan kalender Um-al-Qura
FieldDate.UseLastFormatMenggunakan format yang terakhir digunakan oleh aplikasi host untuk bidang DATE baru
IFieldWithCalendarAntarmuka yang diimplementasikan oleh keempat kelas untuk hasil bidang yang memperhatikan kalender

Lihat Juga

 Bahasa Indonesia