Datum- en tijdvelden

Datum- en tijdvelden

Deze gids toont hoe je kunt werken met de kalenderbewuste datum- en tijdveldklassen in Aspose.Words FOSS voor .NET — FieldDate, FieldCreateDate, FieldPrintDate, en FieldSaveDate — die Word’s DATE, CREATEDATE, PRINTDATE, en SAVEDATE velden respectievelijk. Elke klasse erft van Field en implementeert IFieldWithCalendar; voor het basis Field objectmodel zelf (bijwerken, ontkoppelen, verwijderen en opmaken van elk veld), zie de Werken met velden gids.


De vier datum- en tijdveldklassen

FieldDate implementeert het DATE veld. FieldCreateDate implementeert CREATEDATE, de datum waarop het document is aangemaakt. FieldPrintDate implementeert PRINTDATE, de datum waarop het document voor het laatst is afgedrukt. FieldSaveDate implementeert SAVEDATE, de datum waarop het document voor het laatst is opgeslagen. Alle vier zijn subklassen van Field en implementeren IFieldCodeTokenInfoProvider en IFieldWithCalendar, zodat ze de GetFieldCode(), Update(), Unlink(), Remove() en opmaak (Format) leden van Field delen, naast hun eigen kalenderschakelaars die hieronder worden beschreven.


Selecteren van een niet-Gregoriaanse kalender

Elke van de vier klassen stelt UseLunarCalendar (bool) bloot om het resultaat te renderen met de Hijri-Maan- of Hebreeuwse Maan-kalender, UseSakaEraCalendar (bool) voor de Saka Era-kalender, en UseUmAlQuraCalendar (bool) voor de Um-al-Qura-kalender. Stel de overeenkomstige eigenschap in op true voordat u Update() aanroept, zodat het veld zijn resultaat opnieuw berekent met dat kalendersysteem in plaats van de standaard Gregoriaanse kalender.


FieldDate’s Applicatie-Formaatschakelaar

FieldDate exposeert bovendien UseLastFormat (bool), waarmee wordt bepaald of het veld een formaat gebruikt dat het host-toepassing laatst heeft gebruikt wanneer een nieuw DATE veld wordt ingevoegd. FieldCreateDate, FieldPrintDate en FieldSaveDate bieden deze eigenschap niet aan.


Tips en best practices

  • Stel een kalenderschakelaar in (UseLunarCalendar, UseSakaEraCalendar of UseUmAlQuraCalendar) en roep vervolgens Update() aan op het veld — het alleen wijzigen van de eigenschap berekent Result niet opnieuw.
  • Stel op een gegeven veldinstantie slechts één kalenderschakelaar in op true; het combineren van meer dan één leidt tot een onduidelijk resultaat.
  • Gebruik Field.Format (een FieldFormat, behandeld in de Veldresultaatopmaak gids) naast deze kalenderschakelaars om ook de numerieke of datum/tijd-opmaakweergave die op het resultaat wordt toegepast te regelen.
  • Kies de klasse die past bij de semantiek die u nodig heeft — FieldSaveDate en FieldPrintDate lezen tijdstempels die in het document zijn vastgelegd, terwijl FieldDate de datum weergeeft waarop het veld wordt bijgewerkt.

Veelvoorkomende problemen

ProbleemOorzaakOplossing
Kalenderwissel heeft geen effect op het weergegeven resultaatHet veld werd niet opnieuw berekend nadat de eigenschap was ingesteldRoep Update() aan op de veldinstantie na het instellen van UseLunarCalendar, UseSakaEraCalendar of UseUmAlQuraCalendar
UseLastFormat compileert niet op FieldPrintDate of FieldSaveDateDie eigenschap bestaat alleen op FieldDateGebruik FieldDate voor application-format-follows gedrag, of stel Format expliciet in op de andere klassen
Resultaat toont het verkeerde kalendersysteemEr is meer dan één kalenderwisselaar ingesteld op true op hetzelfde veldStel slechts één van UseLunarCalendar, UseSakaEraCalendar, UseUmAlQuraCalendar in per veldinstantie

FAQ

Wat is het verschil tussen FieldDate en FieldCreateDate?

FieldDate implementeert het DATE veld (recalculeert naar de huidige datum elke keer dat het wordt bijgewerkt); FieldCreateDate implementeert CREATEDATE (de datum waarop het document is gemaakt).

Hoe kan ik een datumveld de Hijri Lunar-kalender laten gebruiken?

Stel UseLunarCalendar = true in op de FieldDate, FieldCreateDate, FieldPrintDate of FieldSaveDate instantie, roep vervolgens Update() aan.

Welke van de vier klassen houdt bij wanneer een document voor het laatst is opgeslagen?

FieldSaveDate, die het SAVEDATE veld implementeert.

Ondersteunen deze klassen aangepaste opmaakafbeeldingen, niet alleen kalenderwisselaars?

Ja — elke exposeert een Format eigenschap (FieldFormat) geërfd van de basisveld-infrastructuur; zie de Veldresultaatopmaak handleiding voor NumericFormat and DateTimeFormat.


API Reference Samenvatting

Klasse/MethodeBeschrijving
FieldDateImplementeert het DATE veld
FieldCreateDateImplementeert het CREATEDATE veld
FieldPrintDateImplementeert het PRINTDATE veld
FieldSaveDateImplementeert het SAVEDATE veld
UseLunarCalendarRendert het resultaat met behulp van de Hijri Lunar- of Hebrew Lunar-kalender
UseSakaEraCalendarRendert het resultaat met behulp van de Saka Era-kalender
UseUmAlQuraCalendarRendert het resultaat met behulp van de Um-al-Qura-kalender
FieldDate.UseLastFormatGebruikt een formaat dat voor het laatst is gebruikt door de hosttoepassing voor een nieuw DATE veld
IFieldWithCalendarInterface geïmplementeerd door alle vier klassen voor kalenderbewuste veldresultaten

Zie ook

 Nederlands