日付および時刻 (Apache OpenOffice 実行時ライブラリ)

From Apache OpenOffice Wiki
Jump to: navigation, search
doc OOo
Book.png

Apache OpenOffice Basic に用意されている Date 型データは、日付および時刻の情報をバイナリ形式で格納しています。

プログラムコード内での日付と時刻の指定

日付変数へ代入する日付データは、文字列として指定します。

Dim MyDate As Date
MyDate = "24.1.2002"

このような文字列形式のデータを日付変数へ代入した場合、Apache OpenOffice Basic は自動的に必要なデータ変換を実行します。ただし、日付や時刻の表示形式は地域ごとに異なる場合があるので、このような差異に起因したエラーの発生する危険性があります。

Apache OpenOffice Basic はオペレーティングシステムのロケール設定に応じて日付データを変換するため、上記のサンプルコードはこの書式の該当する地域でしか正常に動作しません。

このような問題を回避するには、DateSerial 関数を使用して日付データを指定するようにします。

Dim MyVar As Date
MyDate = DateSerial (2001, 1, 24)

この関数に与えるパラメータは、年、月、日の順番で指定するよう固定されています。そのためこの関数を使用することで、ロケール設定に影響されることなく、一定の形式で日付データの指定が行えます。

時刻の場合は TimeSerial 関数を用いることで、DateSerial 関数と同様の処理が行えます。

Dim MyVar As Date
MyDate =  TimeSerial(11, 23, 45)

この関数に与えるパラメータは、時、分、秒の順番で指定します。

日付および時刻の取得

次の関数は、DateSerial 関数および TimeSerial 関数と逆方向の操作を行うためのものです。

Day(MyDate)
MyDate に該当する日を返します。
Month(MyDate)
MyDate に該当する月を返します。
Year(MyDate)
MyDate に該当する年を返します。
Weekday(MyDate)
MyDate に該当する曜日を示す数値を返します。
Hour(MyTime)
MyTime に該当する時刻の時を返します。
Minute(MyTime)
MyTime に該当する時刻の分を返します。
Second(MyTime)
MyTime に該当する時刻の秒を返します。

これらの関数は、指定した Date 変数に該当する、日付や時刻の情報を取得します。次のサンプルコードでは、MyDate で保存した日付が 2003 年の日付かどうかを確認しています。

Dim MyDate As Date
' ... Initialization of MyDate
 
If Year(MyDate) = 2003 Then
  ' ... Specified date is in the year 2003
End If

同様に、次のサンプルコードでは、MyTime が 12 時と 14 時の間かどうかを確認しています。

Dim MyTime As Date
' ... Initialization of MyTime
 
If Hour(MyTime) >= 12 And Hour(MyTime) < 14 Then
  ' ... Specified time is between 12 and 14 hours
End If

Weekday 関数は、与えられた日付データを基に、該当する曜日を示す数値を返します。

Dim MyDate As Date
Dim MyWeekday As String
' ... initialize MyDate
 
Select Case WeekDay(MyDate)
  case 1
    MyWeekday = "Sunday"
  case 2
    MyWeekday = "Monday"
  case 3
    MyWeekday = "Tuesday"
  case 4
    MyWeekday = "Wednesday"
  case 5
    MyWeekday = "Thursday"
  case 6
    MyWeekday = "Friday"
  case 7
    MyWeekday = "Saturday"
End Select
Documentation note.png ここでは、週の第 1 曜日は日曜日 (Sunday) と仮定しています。

システム日付と時刻の取得

Apache OpenOffice Basic には、システム日付と時刻の取得用に、次の関数が用意されています。

Date
現在の日付を取得して返します。
Time
現在の時刻を取得して返します。
Now
現在の日付と時刻を取得して返します (日付と時刻を 1 つに合わせたデータ)。


Content on this page is licensed under the Public Documentation License (PDL).
Personal tools