Source code for zulu.api

"""The api module."""

from .delta import Delta
from .zulu import Zulu


[docs] def create( year=1970, month=1, day=1, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0 ): """ Factory function to create a new :class:`.Zulu` datetime using the same arguments as the class. Args: year (int|dict): Date year ``1 <= year <= 9999`` or ``dict`` containing keys corresponding to initialization parameter names. month (int): Date month ``1 <= month <= 12``. day (int): Date day ``1 <= day <= number of days in the given month and year`` hour (int, optional): Time hour ``0 <= hour < 24``. Defaults to ``0``. minute (int, optional): Time minute ``0 <= minute < 60``. Defaults to ``0``. second (int, optional): Time second ``0 <= second < 60``. Defaults to ``0``. microsecond (int, optional): Time microsecond ``0 <= microsecond < 1000000``. Defaults to ``0``. tzinfo (None|str|tzinfo, optional): Timezone information as either a ``str`` or ``tzinfo`` subclass. If value is a ``str``, it will be converted to a ``dateutil.tz`` timezone. If value is ``None``, the datetime values given are assumed to in UTC. Defaults to ``None``. """ return Zulu( year=year, month=month, day=day, hour=hour, minute=minute, second=second, microsecond=microsecond, tzinfo=tzinfo, fold=fold, )
[docs] def now(): """Alias to :meth:`.Zulu.now`.""" return Zulu.now()
[docs] def parse(obj, formats=None, default_tz=None): """ Return :class:`.Zulu` object parsed from `obj`. Args: obj (mixed): Object to parse into a :class:`.Zulu` object. formats (str|list, optional): List of string formats to use when parsing. Defaults to ``["ISO8601", "timestamp"]``. default_tz (None|str|tzinfo, optional): Default timezone to use when parsed datetime object does not contain a timezone. Defaults to ``UTC``. Returns: :class:`.Zulu` """ return Zulu.parse(obj, formats=formats, default_tz=default_tz)
[docs] def range(frame, start, end): """ Yield ranges of :class:`.Zulu` instances from `start` to `end` in steps of time frame, `frame`. Args: frame (str): A time frame (e.g. year, month, day, minute, etc). start (datetime): The starting datetime. end (datetime): The ending datetime. Yields: :class:`.Zulu`: Datetime values ranging from the given start and end datetimes. """ yield from Zulu.range(frame, start, end)
[docs] def span_range(frame, start, end): """ Return a range of time spans from `start` to `end` in steps of time frame, `frame`. Args: frame (str): A time frame (e.g. year, month, day, minute, etc). start (datetime): The starting datetime. end (datetime): The ending datetime. Yields: tuple: 2-element tuple of Zulu time spans """ yield from Zulu.span_range(frame, start, end)
[docs] def parse_delta(obj): """ Return :class:`.Delta` object parsed from `obj`. Args: obj (str|number|timedelta): Object to parse into a :class:`.Delta` object. Returns: :class:`.Delta` """ return Delta.parse(obj)