Difference between revisions of "JA/Documentation/BASIC Guide/Date and Time (Runtime Library)"
Line 109: | Line 109: | ||
;<tt>Time</tt>: 現在の時刻を取得して返します。 | ;<tt>Time</tt>: 現在の時刻を取得して返します。 | ||
;<tt>Now</tt>: 現在の日付と時刻を取得して返します (日付と時刻を 1 つに合わせたデータ)。 | ;<tt>Now</tt>: 現在の日付と時刻を取得して返します (日付と時刻を 1 つに合わせたデータ)。 | ||
+ | |||
{{PDL1}} | {{PDL1}} | ||
− | |||
{{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Date and Time (Runtime Library)}} | {{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Date and Time (Runtime Library)}} |
Revision as of 16:47, 15 December 2008
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
システム日付と時刻の取得
Apache OpenOffice Basic には、システム日付と時刻の取得用に、次の関数が用意されています。
- Date
- 現在の日付を取得して返します。
- Time
- 現在の時刻を取得して返します。
- Now
- 現在の日付と時刻を取得して返します (日付と時刻を 1 つに合わせたデータ)。
Content on this page is licensed under the Public Documentation License (PDL). |