حقول التاريخ والوقت
حقول التاريخ والوقت
هذا الدليل يوضح كيفية العمل مع فئات حقول التاريخ والوقت التي تدرك التقويم في 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، لذا فهي تشترك في Field’s GetFieldCode()، Update()، Unlink()، Remove()، وأعضاء التنسيق (Format) إلى جانب مفاتيح التقويم الخاصة بها الموضحة أدناه.
اختيار تقويم غير غريغوري
كل واحدة من الفئات الأربعة تعرض UseLunarCalendar (bool) لتوليد النتيجة باستخدام التقويم الهجري القمري أو التقويم العبري القمري، وUseSakaEraCalendar (bool) لتقويم عصر سكا، وUseUmAlQuraCalendar (bool) لتقويم أم القرى. اضبط الخاصية المقابلة إلى 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 (تاريخ إنشاء المستند).
كيف أجعل حقل التاريخ يستخدم التقويم الهجري القمري؟
قم بتعيين 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 | واجهة تم تنفيذها من قبل جميع الفئات الأربعة لنتائج الحقول الواعية بالتقويم |