Difference between revisions of "Documentation/BASIC Guide/Date and Time (Runtime Library)"
(→Retrieving System Date and Time) |
m |
||
(10 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | {{DISPLAYTITLE:Date and Time ({{ | + | {{DISPLAYTITLE:Date and Time ({{AOo}} Runtime Library)}} |
{{Documentation/BASICGuideTOC/v2 | {{Documentation/BASICGuideTOC/v2 | ||
|ShowPrevNext=block | |ShowPrevNext=block | ||
Line 7: | Line 7: | ||
|runtime=block | |runtime=block | ||
}} | }} | ||
− | + | ||
− | {{ | + | {{AOo}} Basic provides the <tt>Date</tt> data type, which saves the date and time details in binary format. |
== Specification of Date and Time Details within the Program Code == | == Specification of Date and Time Details within the Program Code == | ||
Line 14: | Line 14: | ||
You can assign a date to a date variable through the assignment of a simple string: | You can assign a date to a date variable through the assignment of a simple string: | ||
− | < | + | <syntaxhighlight lang="oobas"> |
Dim MyDate As Date | Dim MyDate As Date | ||
MyDate = "24.1.2002" | MyDate = "24.1.2002" | ||
− | </ | + | </syntaxhighlight> |
− | This assignment can function properly because {{ | + | This assignment can function properly because {{AOo}} Basic automatically converts the date value defined as a string into a date variable. This type of assignment, however, can cause errors, date and time values are defined and displayed differently in different countries. |
− | Since {{ | + | Since {{AOo}} Basic uses the country-specific settings of the operating system when converting a string into a date value, the expression shown previously only functions correctly if the country-specific settings match the string expression. |
To avoid this problem, the <tt>DateSerial</tt> function should be used to assign a fixed value to a date variable: | To avoid this problem, the <tt>DateSerial</tt> function should be used to assign a fixed value to a date variable: | ||
− | < | + | <syntaxhighlight lang="oobas"> |
Dim MyVar As Date | Dim MyVar As Date | ||
MyDate = DateSerial (2001, 1, 24) | MyDate = DateSerial (2001, 1, 24) | ||
− | </ | + | </syntaxhighlight> |
The function parameter must be in the sequence: year, month, day. The function ensures that the variable is actually assigned the correct value regardless of the country-specific settings | The function parameter must be in the sequence: year, month, day. The function ensures that the variable is actually assigned the correct value regardless of the country-specific settings | ||
Line 34: | Line 34: | ||
The <tt>TimeSerial</tt> function formats time details in the same way that the <tt>DateSerial</tt> function formats dates: | The <tt>TimeSerial</tt> function formats time details in the same way that the <tt>DateSerial</tt> function formats dates: | ||
− | < | + | <syntaxhighlight lang="oobas"> |
Dim MyVar As Date | Dim MyVar As Date | ||
MyDate = TimeSerial(11, 23, 45) | MyDate = TimeSerial(11, 23, 45) | ||
− | </ | + | </syntaxhighlight> |
Their parameters should be specified in the sequence: hours, minutes, seconds. | Their parameters should be specified in the sequence: hours, minutes, seconds. | ||
Line 53: | Line 53: | ||
;<tt>Second(MyTime)</tt>:returns the seconds from <tt>MyTime</tt>. | ;<tt>Second(MyTime)</tt>:returns the seconds from <tt>MyTime</tt>. | ||
− | These functions extract the date or time sections from a specified <tt>Date</tt> variable. The following example checks whether the date saved in <tt>MyDate</tt> is in the year | + | These functions extract the date or time sections from a specified <tt>Date</tt> variable. The following example checks whether the date saved in <tt>MyDate</tt> is in the year 2023. |
− | < | + | <syntaxhighlight lang="oobas"> |
Dim MyDate As Date | Dim MyDate As Date | ||
' ... Initialization of MyDate | ' ... Initialization of MyDate | ||
− | If Year(MyDate) = | + | If Year(MyDate) = 2023 Then |
− | ' ... Specified date is in the year | + | ' ... Specified date is in the year 2023 |
End If | End If | ||
− | </ | + | </syntaxhighlight> |
In the same way, the following example checks whether <tt>MyTime</tt> is between 12 and 14 hours. | In the same way, the following example checks whether <tt>MyTime</tt> is between 12 and 14 hours. | ||
− | < | + | <syntaxhighlight lang="oobas"> |
Dim MyTime As Date | Dim MyTime As Date | ||
' ... Initialization of MyTime | ' ... Initialization of MyTime | ||
Line 73: | Line 73: | ||
' ... Specified time is between 12 and 14 hours | ' ... Specified time is between 12 and 14 hours | ||
End If | End If | ||
− | </ | + | </syntaxhighlight> |
The <tt>Weekday</tt> function returns the number of the weekday for the transferred date: | The <tt>Weekday</tt> function returns the number of the weekday for the transferred date: | ||
− | < | + | <syntaxhighlight lang="oobas"> |
Dim MyDate As Date | Dim MyDate As Date | ||
Dim MyWeekday As String | Dim MyWeekday As String | ||
Line 98: | Line 98: | ||
MyWeekday = "Saturday" | MyWeekday = "Saturday" | ||
End Select | End Select | ||
− | </ | + | </syntaxhighlight> |
− | {{ | + | {{Note|Sunday is considered the first day of the week.}} |
== Retrieving System Date and Time == | == Retrieving System Date and Time == | ||
− | The following functions are available in {{ | + | The following functions are available in {{AOo}} Basic to retrieve the system time and system date: |
− | ;<tt>Date</tt>:returns the present date. | + | ;<tt>Date</tt>:returns the present date as a string. The format depends on localization settings. |
− | ;<tt>Time</tt>:returns the present time. | + | ;<tt>Time</tt>:returns the present time as a string. |
− | ;<tt>Now</tt>:returns the present point in time (date and time as combined value | + | ;<tt>Now</tt>:returns the present point in time (date and time) as a combined value of type <tt>Date</tt>. |
+ | |||
+ | {{InterWiki Languages BasicGuide|articletitle=Documentation/BASIC Guide/Date and Time (Runtime Library)}} | ||
{{PDL1}} | {{PDL1}} |
Latest revision as of 12:10, 30 January 2021
Apache OpenOffice Basic provides the Date data type, which saves the date and time details in binary format.
Specification of Date and Time Details within the Program Code
You can assign a date to a date variable through the assignment of a simple string:
Dim MyDate As Date MyDate = "24.1.2002"
This assignment can function properly because Apache OpenOffice Basic automatically converts the date value defined as a string into a date variable. This type of assignment, however, can cause errors, date and time values are defined and displayed differently in different countries.
Since Apache OpenOffice Basic uses the country-specific settings of the operating system when converting a string into a date value, the expression shown previously only functions correctly if the country-specific settings match the string expression.
To avoid this problem, the DateSerial function should be used to assign a fixed value to a date variable:
Dim MyVar As Date MyDate = DateSerial (2001, 1, 24)
The function parameter must be in the sequence: year, month, day. The function ensures that the variable is actually assigned the correct value regardless of the country-specific settings
The TimeSerial function formats time details in the same way that the DateSerial function formats dates:
Dim MyVar As Date MyDate = TimeSerial(11, 23, 45)
Their parameters should be specified in the sequence: hours, minutes, seconds.
Extracting Date and Time Details
The following functions form the counterpart to the DateSerial and TimeSerial functions:
- Day(MyDate)
- returns the day of the month from MyDate.
- Month(MyDate)
- returns the month from MyDate.
- Year(MyDate)
- returns the year from MyDate.
- Weekday(MyDate)
- returns the number of the weekday from MyDate.
- Hour(MyTime)
- returns the hours from MyTime.
- Minute(MyTime)
- returns the minutes from MyTime.
- Second(MyTime)
- returns the seconds from MyTime.
These functions extract the date or time sections from a specified Date variable. The following example checks whether the date saved in MyDate is in the year 2023.
Dim MyDate As Date ' ... Initialization of MyDate If Year(MyDate) = 2023 Then ' ... Specified date is in the year 2023 End If
In the same way, the following example checks whether MyTime is between 12 and 14 hours.
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
The Weekday function returns the number of the weekday for the transferred date:
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
Retrieving System Date and Time
The following functions are available in Apache OpenOffice Basic to retrieve the system time and system date:
- Date
- returns the present date as a string. The format depends on localization settings.
- Time
- returns the present time as a string.
- Now
- returns the present point in time (date and time) as a combined value of type Date.
Content on this page is licensed under the Public Documentation License (PDL). |