日付と時刻フィールド

日付と時刻フィールド

日付と時刻フィールド

このガイドでは、Aspose.Words FOSS for .NET のカレンダー対応日付および時刻フィールドクラスの使い方を示します — FieldDate, FieldCreateDate, FieldPrintDate, および FieldSaveDate — Word の実装である DATE, CREATEDATE, PRINTDATE, および SAVEDATE フィールドです。それぞれのクラスは から派生します Field と実装します IFieldWithCalendar; 基底 Field オブジェクトモデル自体(更新、リンク解除、削除、任意のフィールドの書式設定)については、 see the フィールドの操作 ガイド。


4つの日付と時刻フィールドクラス

FieldDate は DATE フィールドを実装します。FieldCreateDate は CREATEDATE を実装し、文書が作成された日付を示します。FieldPrintDate は PRINTDATE を実装し、文書が最後に印刷された日付を示します。FieldSaveDate は SAVEDATE を実装し、文書が最後に保存された日付を示します。4つすべてが Field のサブクラスであり、IFieldCodeTokenInfoProvider と IFieldWithCalendar を実装しているため、Field の GetFieldCode()、Update()、Unlink()、Remove()、および書式設定(Format)メンバーを、以下で説明する独自のカレンダー切替と共に共有します。


非グレゴリオ暦の選択

4つのクラスそれぞれは、結果をヒジュラ月暦またはヘブライ月暦で表示するための UseLunarCalendar(bool)、サカ暦のための UseSakaEraCalendar(bool)、ウム・アル=クラー暦のための UseUmAlQuraCalendar(bool)を公開しています。Update() を呼び出す前に対応するプロパティを true に設定すると、フィールドはデフォルトのグレゴリオ暦ではなくその暦システムを使用して結果を再計算します。


FieldDate のアプリケーション形式スイッチ

FieldDate はさらに UseLastFormat (bool) を公開します。このプロパティは、新しい DATE フィールドが挿入されたときに、ホスティング アプリケーションが最後に使用した形式をフィールドが使用するかどうかを制御します。FieldCreateDate、FieldPrintDate、および FieldSaveDate はこのプロパティを公開しません。


ヒントとベストプラクティス

  • カレンダー スイッチ (UseLunarCalendar、UseSakaEraCalendar、または UseUmAlQuraCalendar) を設定し、次にフィールド上で Update() を呼び出します — プロパティだけを変更しても Result は再計算されません。
  • 特定のフィールド インスタンスでは、カレンダー スイッチを true に設定するのは1つだけにしてください。複数を組み合わせると結果が曖昧になります。
  • 使用 Field.Format (a FieldFormat、カバーされている フィールド結果の書式設定 guide) とこれらのカレンダー スイッチを併用して、結果に適用される数値または日時の書式設定パターンも制御します。
  • 必要なセマンティクスに合ったクラスを選択してください — FieldSaveDate と FieldPrintDate は文書に記録されたタイムスタンプを読み取りますが、FieldDate はフィールドが更新された日付を反映します。

一般的な問題

問題原因修正
カレンダーの切り替えは表示結果に影響しませんプロパティを設定した後、フィールドが再計算されませんでしたUseLunarCalendar、UseSakaEraCalendar、または UseUmAlQuraCalendar を設定した後、フィールドインスタンスで Update() を呼び出してください
UseLastFormat は FieldPrintDate または FieldSaveDate ではコンパイルできませんそのプロパティは FieldDate のみで存在しますapplication-format-follows の動作には FieldDate を使用するか、他のクラスで Format を明示的に設定してください
結果が誤った暦システムを示しています同じフィールドで複数のカレンダー切替が true に設定されましたフィールドインスタンスごとに UseLunarCalendar、UseSakaEraCalendar、UseUmAlQuraCalendar のうち一つだけを設定してください

FAQ

FieldDate と FieldCreateDate の違いは何ですか?

FieldDate は DATE フィールドを実装します(更新されるたびに現在の日付に再計算されます);FieldCreateDate は CREATEDATE を実装します(ドキュメントが作成された日付)。

日付フィールドで Hijri Lunar calendar を使用するにはどうすればよいですか?

UseLunarCalendar = true を FieldDate、FieldCreateDate、FieldPrintDate、または FieldSaveDate インスタンスに設定し、Update() を呼び出します。

4 つのクラスのうち、どれがドキュメントの最終保存時刻を追跡しますか?

FieldSaveDate は、SAVEDATE フィールドを実装します。

これらのクラスは、カレンダーの切り替えだけでなく、カスタム書式設定画像をサポートしていますか?

はい — それぞれが公開します Format プロパティ (FieldFormat) はベースフィールドインフラストラクチャから継承されます; 詳細は フィールド結果フォーマット のガイド NumericFormat and DateTimeFormat.


API Reference 概要

クラス/メソッド説明
FieldDateDATE フィールドを実装します
FieldCreateDateCREATEDATE フィールドを実装します
FieldPrintDatePRINTDATE フィールドを実装します
FieldSaveDateSAVEDATE フィールドを実装します
UseLunarCalendar結果を Hijri Lunar または Hebrew Lunar カレンダーでレンダリングします
UseSakaEraCalendarSaka Era カレンダーを使用して結果をレンダリングします
UseUmAlQuraCalendarUm-al-Qura カレンダーを使用して結果をレンダリングします
FieldDate.UseLastFormatホスティングアプリケーションで最後に使用された形式を、新しい DATE フィールドに使用します
IFieldWithCalendarカレンダー対応フィールド結果のために、4つのクラスすべてが実装しているインターフェース

参照

 日本語