日期和时间(Apache OpenOffice 运行时库)
From Apache OpenOffice Wiki
< ZH/Documentation/BASIC Guide
Revision as of 22:06, 12 December 2008 by G11nAutomation (talk | contribs)
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
- 返回当前时间点(日期和时间的组合值)。
Content on this page is licensed under the Public Documentation License (PDL). |