NotesDateTime (LotusScript)

日付と時間を表します。LotusScript® の日時形式と Domino の日時形式を変換する方法を提供します。

包含関係

包含元: NotesDateRangeNotesDocumentNotesItemNotesNoteCollectionNotesSessionNotesUIScheduler

プロパティ

DateOnly

GMTTime

IsDST

IsValidDate

LocalTime

LSGMTTime

LSLocalTime

Parent

TimeOnly

TimeZone

ZoneTime

メソッド

AdjustDay

AdjustHour

AdjustMinute

AdjustMonth

AdjustSecond

AdjustYear

ConvertToZone

New

SetAnyDate

SetAnyTime

SetNow

TimeDifference

TimeDifferenceDouble

作成方法

NotesDateTime オブジェクトを新規作成するには次のメソッドを使用します。

  • New
注: New メソッドは COM ではサポートされていません。

指定された日付と時刻を表す文字列をもとに New はその日付と時刻を表すオブジェクトを作成します。

構文

Dim variableName As New NotesDateTime( dateTime$ )

または

Set notesDateTime = New NotesDateTime( dateTime$ )

パラメータ

dateTime$

String 型。オブジェクトで表されるようにする日時。 空の文字列 ("") を使用すると、日付はワイルドカードの日付に設定されます。Notes の日時式の「Today」、「Tomorrow」、「Yesterday」を使用することができます。

使用法

New の dateTime$ パラメータと NotesSession の CreateDateTime メソッドには、日付の後に空白を指定してから時刻を指定しなければなりません。時刻部分がない日付を指定したり、日付部分がない時刻を指定することはできますが、その場合、標準時が設定されません。

日付と時刻を文字列値から指定すると、次の条件が適用されます。

  • 日付コンポーネントと時刻コンポーネントは、可能な場合はオペレーティングシステムの地域設定に従って解釈されます。例えば、日付の地域設定が M/d/yy h:mm:ss:tt の場合、「3/4/05 6:07」は 2005 年 3 月 4 日の午前 6 時 7 分を意味します。
  • 地域設定を使用して日付と時刻の解釈ができない場合は、うまく機能するものが見つかるまで代わりの設定を試します。例えば、日付の地域設定が M/d/yy の場合、「13/4/05」は (代わりの「d/M/yy」設定を使用して) 2005 年 4 月 13 日になります。また、この場合「13/33/05」は (代わりの「d/yy/M」設定を使用して) 2033 年 5 月 13 日になります。
  • 日付か時刻がどの設定を使用しても解釈できない場合は、ワイルドカードの日付が設定されて、プロパティ IsValidDate が False に設定されます。

地域設定への依存を避けるためには、LotusScript 関数の DateNumber と TimeNumber を使用することができます。例えば、DateNumber と TimeNumber の合計を NotesSession の CreateDateTime メソッドのパラメータとして使用できます。

タイムゾーン

NotesDateTime オブジェクトを新規に作成すると、Domino のタイムゾーンの設定によって TimeZone プロパティが決められます。例えば、Domino のタイムゾーンが東部標準時間に設定されているコンピュータでコードが実行されるときは、新規の NotesDateTime オブジェクトの TimeZone プロパティは自動的に 5 に設定されます。GMTTime プロパティと LSGMTTime プロパティも Domino のタイムゾーンの設定によって決められます。

時刻部分または日付部分のない DateTime オブジェクトを作成すると、タイムゾーンは無効となり TimeZone プロパティは 0 を返します。この場合、LocalTime と GMTTime の両方のプロパティはタイムゾーンが設定されていないため同じ時刻値を返します。ConvertToZone を適用すると、タイムゾーンは無効のまま、また TimeZone も 0 で変わらず、エラーは発生しません。

Today、Tomorrow、Yesterday

「Today」、「Tomorrow」、「Yesterday」などの式を使用して DateTime オブジェクトを新規作成するとき、日付の値は Domino の現在の日付の設定で定義されます。このような式は DateTime オブジェクトの時刻の部分には影響を与えません。DateTime オブジェクトを現在の日付および 時刻に設定するには、「Today」、「Tomorrow」または「Yesterday」の後に時刻を指定するか (「Today 12:00:00 AM」など)、setNow を使用します。

LotusScript での日付の保存方法

LotusScript の日付と時刻の Variant 型変数とは違い、Domino の日付と時刻アイテムと NotesDateTime オブジェクトは、タイムゾーンと 1/100 秒 (ユーザーには識別不可能) を保存します。タイムゾーンか 1/100 秒のどちらかを保存する必要があるときは NotesDateTime クラスを使用します。日付と時刻の部分だけが必要でタイムゾーンと 1/100 秒を必要としないときは、LotusScript の日付と時刻の Variant 型変数を使用します。

アクセス

Notes 文書のアイテムに保存されている日時の値にアクセスするには NotesItem の DateTimeValue プロパティを使用します。

NotesInternational クラスを通じて、オペレーティングシステムの日時の区切り文字とタイムゾーン設定を取得できます。