Dátum és idő mezők
Dátum- és időmezők
Ez az útmutató bemutatja, hogyan dolgozhatunk a naptár-tudatos dátum- és időmező osztályokkal a Aspose.Words FOSS-ban a .NET számára — FieldDate, FieldCreateDate, FieldPrintDate, és FieldSaveDate — amelyek megvalósítják a Word DATE, CREATEDATE, PRINTDATE, és SAVEDATE mezőket, rendre. Minden osztály származik a Field és megvalósítja IFieldWithCalendar; az alap Field objektummodell magát (frissítés, leválasztás, eltávolítás és bármely mező formázása), lásd a Munka a mezőkkel útmutató.
A négy dátum- és időmező osztály
FieldDate megvalósítja a DATE mezőt. FieldCreateDate megvalósítja a CREATEDATE mezőt, amely a dokumentum létrehozásának dátuma. FieldPrintDate megvalósítja a PRINTDATE mezőt, amely a dokumentum legutóbbi nyomtatásának dátuma. FieldSaveDate megvalósítja a SAVEDATE mezőt, amely a dokumentum legutóbbi mentésének dátuma. Mind a négy a Field alosztálya, és a IFieldCodeTokenInfoProvider és IFieldWithCalendar implementálja, így megosztják a Field GetFieldCode(), Update(), Unlink(), Remove() és a formázási (Format) tagjait, valamint az alább leírt saját naptárkapcsolóikat.
Nem gregorián naptár kiválasztása
A négy osztály egyike is megjeleníti a UseLunarCalendar (bool) tulajdonságot, amely a hijri hold- vagy héber holdnaptár használatával jeleníti meg az eredményt, a UseSakaEraCalendar (bool) a Saka korszak naptárához, és a UseUmAlQuraCalendar (bool) az Um-al-Qura naptárhoz. Állítsa be a megfelelő tulajdonságot true értékre, mielőtt meghívná a Update() metódust, hogy a mező újraszámolja az eredményt az adott naptárrendszerrel a alapértelmezett gregorián naptár helyett.
FieldDate alkalmazás-formátum kapcsolója
FieldDate továbbá láthatóvá teszi a UseLastFormat (bool) tulajdonságot, amely szabályozza, hogy a mező a házigazda alkalmazás által legutóbb használt formátumot használja-e, amikor egy új DATE mező kerül beszúrásra. FieldCreateDate, FieldPrintDate és FieldSaveDate nem teszik elérhetővé ezt a tulajdonságot.
Tippek és legjobb gyakorlatok
- Állíts be egy naptárkapcsolót (
UseLunarCalendar,UseSakaEraCalendarvagyUseUmAlQuraCalendar), majd hívd meg aUpdate()függvényt a mezőn – a tulajdonság önmagában történő módosítása nem számolja újra aResultértékét. - Az adott mezőpéldányon csak egy naptárkapcsolót állíts be
trueértékre; több kombinálása nem egyértelmű eredményt okoz. - Használja
Field.Format(aFieldFormat, amely a Mező eredmény formázása útmutató) együtt ezekkel a naptárkapcsolókkal, hogy a numerikus vagy dátum/idő formázási képet is irányítsa, amely az eredményre lesz alkalmazva. - Válaszd ki a szükséges szemantikai osztályt – a
FieldSaveDateés aFieldPrintDatea dokumentumban rögzített időbélyegeket olvassák, míg aFieldDateazt a dátumot tükrözi, amikor a mező frissül.
Gyakori problémák
| Kérdés | Ok | Javítás |
|---|---|---|
| A naptárkapcsoló nincs hatással a megjelenített eredményre | A mező nem lett újraszámítva, miután a tulajdonságot beállították | Hívja meg a(z) Update()-t a mezőpéldányon a UseLunarCalendar, UseSakaEraCalendar vagy UseUmAlQuraCalendar beállítása után |
UseLastFormat nem fordul le a(z) FieldPrintDate vagy a(z) FieldSaveDate környezetben | Ez a tulajdonság csak a FieldDate esetén létezik | Használja a FieldDate értéket az application-format-follows viselkedéshez, vagy állítsa be explicit módon a Format értéket a többi osztályon |
| Az eredmény a rossz naptárrendszert mutatja | Több naptárkapcsoló lett beállítva true értékre ugyanazon a mezőn | Állítson be csak egyet a UseLunarCalendar, UseSakaEraCalendar, UseUmAlQuraCalendar közül mezőpéldányonként |
FAQ
Mi a különbség a FieldDate és a FieldCreateDate között?
FieldDate megvalósítja a DATE mezőt (újraszámolja a jelenlegi dátumra minden frissítéskor); FieldCreateDate megvalósítja a CREATEDATE mezőt (a dokumentum létrehozásának dátuma).
Hogyan tudok egy dátummezőt a Hijri holdnaptár használatára beállítani?
Állítsa be a UseLunarCalendar = true értéket a FieldDate, FieldCreateDate, FieldPrintDate vagy FieldSaveDate példányon, majd hívja meg a Update() függvényt.
A négy osztály közül melyik követi nyomon, hogy a dokumentum mikor lett legutóbb mentve?
FieldSaveDate, amely megvalósítja a SAVEDATE mezőt.
Támogatják ezek az osztályok az egyedi formázási képeket, nem csak a naptárkapcsolókat?
Igen — mindegyik egyet tesz elérhetővé Format tulajdonság (FieldFormat) öröklődik az alapmező infrastruktúrából; lásd a Mezőeredmény formázása útmutató NumericFormat and DateTimeFormat.
API Reference Összefoglaló
| Osztály/Módszer | Leírás |
|---|---|
FieldDate | Megvalósítja a DATE mezőt |
FieldCreateDate | Megvalósítja a CREATEDATE mezőt |
FieldPrintDate | Megvalósítja a PRINTDATE mezőt |
FieldSaveDate | Megvalósítja a SAVEDATE mezőt |
UseLunarCalendar | Megjeleníti az eredményt a Hijri holdnaptár vagy a Hebrew holdnaptár használatával |
UseSakaEraCalendar | Az eredményt a Saka Era naptár segítségével jeleníti meg |
UseUmAlQuraCalendar | Az eredményt az Um-al-Qura naptár segítségével jeleníti meg |
FieldDate.UseLastFormat | A hosting alkalmazás által legutóbb használt formátumot használja egy új DATE mezőhöz |
IFieldWithCalendar | Az interfész, amelyet mind a négy osztály megvalósít a naptárra érzékeny mezőeredményekhez |