-# `luatz.timetable`
+## `luatz.timetable` <!-- --> {#timetable}
Provides an class to represent a time and date.
Objects have no concept of timezone or utc offset.
- `wday` (optional)
timetable components may be outside of their standard range (e.g. a month component of
-14) to facilitate arithmetic operations on date components. `:normalise ( )` can be
+14) to facilitate arithmetic operations on date components. `:normalise()` can be
called to modify components to return to their standard range.
Equality and comparisons should work between timetable objects.
-### `new ( year , month , day , hour , min , sec , [yday] , [wday] )`
+### `new(year, month, day, hour, min, sec[, yday[, [wday]])` <!-- --> {#timetable.new}
Returns a new timetable with the given contents.
-### `new_from_timestamp ( timestamp )`
+### `new_from_timestamp(timestamp)` <!-- --> {#timetable.new_from_timestamp}
Returns a new (normalised) timetable, given a timestamp in seconds since the unix epoch of
1970-01-01.
-### `:clone ( )`
+### `timetable:clone()` <!-- --> {#timetable:clone}
Returns a new independent instance of an existing timetable object.
-### `:normalise ( )`
+### `timetable:normalise()` <!-- --> {#timetable:normalise}
Mutates the current object's time and date components so that are integers within 'normal'
ranges e.g. `month` is `1`-`12`; `min` is `0`-`59`
normalises to `.hour=11` `.min=40`
-### `:rfc_3339 ( )` and `__tostring` metamethod
+### `timetable:rfc_3339()` <!-- --> {#timetable:rfc_3339}
Returns the timetable formatted as an rfc-3339 style string.
The timezone offset (or Z) is not appended.
The ranges of components are not checked, if you want a valid timestamp,
-`:normalise ( )` should be called first.
+[`:normalise()`](#timetable:normalise) should be called first.
+This function is also the `__tostring` metamethod for timetable objects
-### `:timestamp ( )`
+
+### `timetable:timestamp()` <!-- --> {#timetable:timestamp}
Returns the timetable as the number of seconds since unix epoch (1970-01-01) as a lua number.
-### `:unpack ( )`
+### `timetable:unpack()` <!-- --> {#timetable:unpack}
Unpacks the timetable object; returns `year`, `month`, `day`, `hour`, `min`, `sec`, `yday`, `wday`