Info | ||
---|---|---|
| ||
This library has not yet been ported to the New Pico Engine |
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() - returns the current date based upon the user's location data
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
xTime = time:now() # 2010-10-06T18:11:47Z xTime = time:now({ # 2010-10-06T18:11:47Z "tz" : "America/Los_Angeles" }) |
...
time:new() - returns a new RFC 3339 datetime string from a string formatted as described in ISO8601 (v2000).
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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() - adds (or subtracts) a specific number of time units to a source string.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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() - returns a datetime string in a specified format following POSIX strftime conventions.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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:strftime()
takes an optional third argument that is used to specify the timezone of the resulting formatted string. This can be used, among other things, to simply convert the timezone by returning an ISO formatted datetime string. For example, the following function uses time:strftime()
to convert an incoming datetime string to UTC:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
convertToUTC = function(dt) { time:strftime(dt, "%Y%m%dT%H%M%S%z", {"tz":"UTC"}) }; |
...
time:atom() - converts a datetime string to an ATOM compatible form.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
time:atom("2010-10-31") # 2010-10-31T00:00:00Z time:atom("2010-10-31",{ # 2010-10-31T06:00:00Z "tz" : "America/Denver" }) |
...
timezone(<arg>) - takes a timezone abbreviation as the argument and checks the user's geo-location (based on IP address) and returns true or false
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
rule glee_check { select when pageview ".*" if (time:timezone("MST")) then { notify("Glee alert", "Glee starts at 7pm"); } } |
...