فیلدهای تاریخ و زمان
فیلدهای تاریخ و زمان
این راهنما نشان میدهد چگونه با کلاسهای فیلد تاریخ و زمان آگاه از تقویم در 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() و اعضای قالببندی (Format) Field را بهاشتراک میگذارند، بهعلاوه سوئیچهای تقویم مخصوص خود که در ادامه توضیح داده شدهاند.
انتخاب یک تقویم غیرگرگوری
هر یک از این چهار کلاس UseLunarCalendar (bool) را برای رندر نتایج با تقویم هجری قمری یا عبری قمری، UseSakaEraCalendar (bool) برای تقویم دوره ساکا، و UseUmAlQuraCalendar (bool) برای تقویم عمر القریه فراهم میکند. قبل از فراخوانی Update()، ویژگی مربوطه را به true تنظیم کنید تا فیلد نتیجه خود را با استفاده از آن سیستم تقویمی بهجای تقویم پیشفرض گرگوری بازمحاسبه کند.
سوئیچ Application-Format FieldDate
FieldDate علاوه بر این UseLastFormat (bool) را افشا میکند، که کنترل میکند آیا فیلد از قالبی که آخرین بار توسط برنامه میزبانی استفاده شده است وقتی یک فیلد DATE جدید وارد میشود، استفاده کند یا نه. FieldCreateDate، FieldPrintDate و FieldSaveDate این ویژگی را افشا نمیکنند.
نکات و بهترین روشها
- یک سوئیچ تقویم (
UseLunarCalendar،UseSakaEraCalendarیاUseUmAlQuraCalendar) تنظیم کنید و سپسUpdate()را روی فیلد فراخوانی کنید — تغییر تنها ویژگی،Resultرا بازمحاسبه نمیکند. - فقط یک سوئیچ تقویم را برای
trueدر یک نمونه فیلد مشخص تنظیم کنید؛ ترکیب بیش از یک سوئیچ منجر به نتیجهای مبهم میشود. - استفاده کنید
Field.Format(aFieldFormat، پوشش داده شده در قالببندی نتیجه فیلد راهنما) همراه با این سوئیچهای تقویم برای کنترل تصویر قالببندی عددی یا تاریخ/زمانی که بر نتیجه اعمال میشود. - کلاسی را انتخاب کنید که با معنایی که نیاز دارید مطابقت داشته باشد —
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 | نتیجه را با استفاده از تقویم ساکا رندر میکند |
UseUmAlQuraCalendar | نتیجه را با استفاده از تقویم ام القریه رندر میکند |
FieldDate.UseLastFormat | از قالبی استفاده میکند که آخرین بار توسط برنامه میزبانی برای فیلد جدید DATE استفاده شده بود |
IFieldWithCalendar | رابطی که توسط هر چهار کلاس برای نتایج فیلدهای آگاه به تقویم پیادهسازی شده است |