Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

The time library provides functions for determining the time and manipulating time values. KRE tries to determine the user's location and creates a time object that is localized for the user (i.e., in the user's time zone). The following functions are available:

  • time:now().time:now() returns the current date and time based upon the user's location data.
  • time:new().time:new() returns a new RFC 3339 datetime string from a string formatted as described in ISO8601 (v2000).
  • time:add(). time.add() adds (or subtracts) a specific number of time units to a source string.

  • time:strftime().time:strftime() returns a datetime string in a specified format following POSIX strftime conventions.
  • time:atom(). time.atom() converts a datetime string to an ATOM compatible form.
  • time:compare().time:compare() takes two datetime strings (ISO8601) and returns 1, 0, or [ms]1, depending on whether the first is before, the same, or after the second.

time:now()

time:now() - returns the current date based upon the user's location data

xTime = time:now()		# 2010-10-06T18:11:47Z
 
xTime = time:now({		# 2010-10-06T18:11:47Z
	"tz" : "America/Los_Angeles"
})

time:new()

time:new() - returns a new RFC 3339 datetime string from a string formatted as described in ISO8601 (v2000).

time:new("2010-08-08")            # 2010-08-08T00:00:00Z (Date only—defaults to 00:00)
time:new("67342")                 # 1967-12-08T00:00:00Z (Year DayOfYear)
time:new("2011W206T1345-0600")    # 2011-05-21T19:45:00Z (Year WeekOfYear DayOfWeek)
time:new("083023Z")               # 2010-10-05T08:30:23Z (Time only—defaults to today)

time:add()

time:add() - adds (or subtracts) a specific number of time units to a source string.

time:add("2010-08-08",{"weeks" : 5})              # 2010-09-12T00:00:00Z
time:add("67342",{"hours":3})                     # 1967-12-08T04:00:00Z
time:add("2011W206T1345-0600",{"days":-65})       # 2011-03-17T13:45:00Z
time:add("083023Z",{"seconds" : 632})             # 2010-10-06T08:40:55Z
time:add("1970-01-01",{"seconds": 1286388924})    # 2010-10-06T18:15:24Z

time:strftime()

time:strftime() - returns a datetime string in a specified format following POSIX strftime conventions.

time:strftime(xTime, "%F %T")          # 2010-10-06 18:15:24
time:strftime(xTime, "%F")             # 2010-10-06
time:strftime(xTime, "%T")             # 18:19:29
time:strftime(xTime, "%A %d %b %Y")    # Wednesday 06 Oct 2010
time:strftime(xTime, "%c")             # Oct 6, 2010 6:25:55 PM
time:strftime(xTime, "%s")             # 1286388924 -- seconds since epoch

time:atom()

time:atom() - converts a datetime string to an ATOM compatible form.

time:atom("2010-10-31")        # 2010-10-31T00:00:00Z
time:atom("2010-10-31",{       # 2010-10-31T06:00:00Z
    "tz" : "America/Denver"
})

Time Predicates

All of the following predicates are referenced to the user's local time. All times are 24-hour clock. All predicates must be preceded by the modules name, for example:

 

time:weekend()

 


  • No labels