Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info
titleEngine Compatibility

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
language
languagejavascript
themeConfluencejavascript
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
languagejavascript
themeConfluence
languagejavascript
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
languagejavascript
themeConfluencelanguagejavascript
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
languagejavascript
themeConfluence
languagejavascript
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
language
languagejavascript
themeConfluencejavascript
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
languagejavascript
themeConfluence
languagejavascript
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
languagejavascript
themeConfluencelanguagejavascript
 rule glee_check {
   select when pageview ".*"
   if (time:timezone("MST")) then {
     notify("Glee alert", "Glee starts at 7pm");
   }
 }

...