Constructs a object implementing the
function O.datetime(start, end, precision, timezone)
end represent the start and end of the time range.
end is optional, in which case the range is a single
precision time unit from the
precision is one of the DateTime precision constants, and defaults to
O.PRECISION_DAY if not specified.
precision is other than hour or minute precision, then the
end time is extended by a single time unit. This matches user expectations when specifying time ranges.
timezone is optional, and if specified, is one of the standard time zone names, such as