NotesDateTime (LotusScript)
日付と時間を表します。LotusScript® の日時形式と Domino の日時形式を変換する方法を提供します。
包含関係
包含元: NotesDateRange、 NotesDocument、NotesItem、NotesNoteCollection、NotesSession、NotesUIScheduler
プロパティ
メソッド
New
作成方法
NotesDateTime オブジェクトを新規作成するには次のメソッドを使用します。
- New
- NotesSession の CreateDateTime メソッド
指定された日付と時刻を表す文字列をもとに 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 クラスを通じて、オペレーティングシステムの日時の区切り文字とタイムゾーン設定を取得できます。