Difference between revisions of "ObjectType:time"
Line 51: | Line 51: | ||
== Setting date Values == | == Setting date Values == | ||
+ | |||
declare myDate time local | declare myDate time local | ||
myDate.Day:Set[31] | myDate.Day:Set[31] | ||
+ | |||
myDate.MonthPtr:Set[11] /*month -1 */ | myDate.MonthPtr:Set[11] /*month -1 */ | ||
+ | |||
myDate.YearPtr:Set[99] /*year -1900 */ | myDate.YearPtr:Set[99] /*year -1900 */ | ||
+ | |||
myDate:Update | myDate:Update | ||
echo ${myDate.Date} | echo ${myDate.Date} | ||
− | ; | + | |
+ | ;Output 12/31/1999 | ||
== Comparing time Values == | == Comparing time Values == |
Revision as of 09:13, 5 June 2008
Contents
Description
The time type describes a date and time of day. Many other details are available, such as the month, day of week, and so on. This type also provides basic time calculation functionality
Members
- intptr Hour: Hour of the day (0-23)
- intptr Minute: Minute of the hour (0-59)
- intptr Second: Second of the minute (0-59)
- int DayOfWeek: Day of the week (1-7)
- intptr DayOfWeekPtr: Day of the week (0-6) - Mainly useful for *setting*
- intptr Day: Day of the month (1-31 depending on the month)
- int Month: Month of the year (1-12)
- intptr MonthPtr: Month of the year (0-11) - Mainly useful for *setting*
- int Year: Year
- intptr YearPtr: Year-1900 (e.g. 0 is 1900, 100 is 2000) - Mainly useful for *setting*
- string Time12: Time in hh:mm:ss given in 12-hour format
- string Time24: Time in hh:mm:ss given in 24-hour format
- string Date: Date in mm/dd/yyyy
- bool Night: TRUE if current time is after 7pm and before 7am
- int SecondsSinceMidnight: Number of seconds since midnight
- int Timestamp: Number of seconds since epoch (standard UNIX timestamp)
Methods
- Set[timestamp]: Sets the value based on the given timestamp (standard UNIX timestamp, number of seconds since epoch)
- Update: Updates the type after setting an individual member (NOT needed when using the Set method)
Returns
Same as Time24
Declaring time Variables
time variables are initialized with a Timestamp. If a "default" is not given, it will default to the equivalent of timestamp 0.
Example 1
This sets a variable to the current time, which can be manipulated later.
Declare TimeVar time ${Time.Timestamp}
Setting time Values
time variables can be set as a whole by using the Set method, or some individual portions may be set via the intptr type's members. After setting individual portions, you should use time:Update in order to completely update the structure. This will make sure the date and time are actually valid -- for example, setting the "Day" to -1 and updating will result in the last day of the previous month.
Declare TimeVar time ${Time.Timestamp} ; Decrease the "day" by 14. This may result in a negative value of Day, but ; when TimeVar:Update is used, it will be the correct date for "2 weeks ago" TimeVar.Day:Dec[14] ; This may show something like 05/-13/2005 echo ${TimeVar.Date} ; Update TimeVar TimeVar:Update ; This will be a real date echo ${TimeVar.Date} ; This will set the timestamp to the current time and date again TimeVar:Set[${Time.Timestamp}] echo ${TimeVar.Date} ${TimeVar.Time}
Setting date Values
declare myDate time local
myDate.Day:Set[31]
myDate.MonthPtr:Set[11] /*month -1 */
myDate.YearPtr:Set[99] /*year -1900 */
myDate:Update
echo ${myDate.Date}
- Output 12/31/1999
Comparing time Values
Time comparison is actually quite simple. Rather than doing string comparisons, simply use the Timestamp member:
if "${TimeVar.Timestamp}>${Time.Timestamp}" echo TimeVar is ${Math.Calc[${TimeVar.Timestamp}-${Time.Timestamp}]} seconds into the future!
Operates On
struct tm *