困ったときは、日付ネタということで、今日は日付ネタです。
さて、その前に、今日もLotus Notes/Domino認知度、再向上のためのランキング協力をお願いします
ポンッと押してください。
ノーツのクラスにNotesDateTimeというクラスがあります。
この中に、現在の日時を返すLocalTimeと、LSLocalTimeというプロパティがあります。
違いは、ヘルプによると、StringもしくはDate形式で返すかというだけですが、実際のところはどうでしょう?
以下のようなサンプルを作ってみました。
Sub Click(Source As Button) Dim hiduke As NotesDateTime Dim sLocalTime23 As String Dim sLSLocalTime23 As String Dim sLocalTime00 As String Dim sLSLocalTime00 As String Dim sLocalTime01 As String Dim sLSLocalTime01 As String Set hiduke = New NotesDateTime( "2010/01/27 23:00:00" ) '23:00の時のプロパティ取得 sLocalTime23 = hiduke.LocalTime sLSLocalTime23 = hiduke.LSLocalTime '00:00の時のプロパティ取得 Call hiduke.AdjustHour( 1 ) sLocalTime00 = hiduke.LocalTime sLSLocalTime00 = hiduke.LSLocalTime '01:00の時のプロパティ取得 Call hiduke.AdjustHour( 1 ) sLocalTime01 = hiduke.LocalTime sLSLocalTime01 = hiduke.LSLocalTime Msgbox _ "23:00の時 " & Chr$(9) & sLocalTime23 & Chr$(10) & _ Chr$(9) & Chr$(9) & sLSLocalTime23 & Chr$(10) & _ "03:00の時 " & Chr$(9) & sLocalTime00 & Chr$(10) & _ Chr$(9) & Chr$(9) & sLSLocalTime00 & Chr$(10) & _ "01:00の時 " & Chr$(9) & sLocalTime01 & Chr$(10) & _ Chr$(9) & Chr$(9) & sLSLocalTime01, _ 0, _ "各時間ごとの表示" End Sub
上記のプログラムを実行したときの結果です。

上の行がLocalTimeで、下の行がLSLocalTimeを表示したものです。
まず、気がつくのが、LocalTimeは一番後ろにタイムゾーンが表示されています。
さらに、なぜか、00:00:00の時は、LSLocalTimeは時刻が表示されません。
ヘルプには何も書いてありません。仕様と言えば仕様なんでしょうが、何となく腑に落ちません。LSLocalTimeで日時を扱う際は十分に注意しましょう。
ちなみに、Format( hiduke.LSLocalTime, "yyyy/mm/dd hh:nn:ss" )とすれば、00:00でも時刻は表示されます。ただし、この場合は、String型に型変換されます。
【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
