Difference between revisions of "JA/Documentation/BASIC Guide/Date and Time (Runtime Library)"
(New page: {{DISPLAYTITLE:日付および時刻 ({{OOo}}実行時ライブラリ)}} {{JA/Documentation/BASICGuideTOC/v2 |ShowPrevNext=block |ShowPrevPage=block |PrevPage=Documentation/BASIC Guide/Str...) |
|||
Line 19: | Line 19: | ||
</source> | </source> | ||
− | このような文字列形式のデータを日付変数へ代入した場合、{{OOo}} Basic | + | このような文字列形式のデータを日付変数へ代入した場合、{{OOo}} Basic は自動的に必要なデータ変換を実行します。ただし、日付や時刻の表示形式は地域ごとに異なる場合があるので、このような差異に起因したエラーの発生する危険性があります。 |
{{OOo}} Basic はオペレーティングシステムのロケール設定に応じて日付データを変換するため、上記のサンプルコードはこの書式の該当する地域でしか正常に動作しません。 | {{OOo}} Basic はオペレーティングシステムのロケール設定に応じて日付データを変換するため、上記のサンプルコードはこの書式の該当する地域でしか正常に動作しません。 | ||
Line 43: | Line 43: | ||
== 日付および時刻の取得 == | == 日付および時刻の取得 == | ||
− | + | 次の関数は、<tt>DateSerial</tt> 関数および <tt>TimeSerial</tt> 関数と逆方向の操作を行うためのものです。 | |
;<tt>Day(MyDate)</tt>: <tt>MyDate</tt> に該当する日を返します。 | ;<tt>Day(MyDate)</tt>: <tt>MyDate</tt> に該当する日を返します。 | ||
Line 104: | Line 104: | ||
== システム日付と時刻の取得 == | == システム日付と時刻の取得 == | ||
− | {{OOo}} Basic | + | {{OOo}} Basic には、システム日付と時刻の取得用に、次の関数が用意されています。 |
;<tt>Date</tt>: 現在の日付を取得して返します。 | ;<tt>Date</tt>: 現在の日付を取得して返します。 |
Revision as of 22:08, 27 November 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). |