Coverage for /opt/obspy/update-docs/src/obspy/obspy/core/utcdatetime : 98%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
# -*- coding: utf-8 -*- Module containing a UTC-based datetime class.
:copyright: The ObsPy Development Team (devs@obspy.org) :license: GNU Lesser General Public License, Version 3 (http://www.gnu.org/copyleft/lesser.html) """
""" A UTC-based datetime object.
This datetime class is based on the POSIX time, a system for describing instants in time, defined as the number of seconds elapsed since midnight Coordinated Universal Time (UTC) of Thursday, January 1, 1970. Using a single float timestamp allows higher precision as the default Python :class:`datetime.datetime` class. It features the full `ISO8601:2004`_ specification and some additional string patterns during object initialization.
:type args: int, float, string, :class:`datetime.datetime`, optional :param args: The creation of a new `UTCDateTime` object depends from the given input parameters. All possible options are summarized in the `Examples`_ section below. :type iso8601: boolean, optional :param iso8601: Enforce `ISO8601:2004`_ detection. Works only with a string as first input argument. :type precision: int, optional :param precision: Sets the precision used by the rich comparison operators. Defaults to ``6`` digits after the decimal point. See also `Precision`_ section below.
.. versionchanged:: 0.5.1 UTCDateTime is no longer based on Python's datetime.datetime class instead uses timestamp as a single floating point value which allows higher precision.
.. rubric:: Supported Operations
``UTCDateTime = UTCDateTime + delta`` Adds/removes ``delta`` seconds (given as int or float) to/from the current ``UTCDateTime`` object and returns a new ``UTCDateTime`` object. See also: :meth:`~obspy.core.utcdatetime.UTCDateTime.__add__`.
``delta = UTCDateTime - UTCDateTime`` Calculates the time difference in seconds between two ``UTCDateTime`` objects. The time difference is given as float data type and may also contain a negative number. See also: :meth:`~obspy.core.utcdatetime.UTCDateTime.__sub__`.
.. rubric:: _`Examples`
(1) Using a timestamp.
>>> UTCDateTime(0) UTCDateTime(1970, 1, 1, 0, 0)
>>> UTCDateTime(1240561632) UTCDateTime(2009, 4, 24, 8, 27, 12)
>>> UTCDateTime(1240561632.5) UTCDateTime(2009, 4, 24, 8, 27, 12, 500000)
(2) Using a `ISO8601:2004`_ string. The detection may be enforced by setting the ``iso8601`` parameter to True.
* Calendar date representation.
>>> UTCDateTime("2009-12-31T12:23:34.5") UTCDateTime(2009, 12, 31, 12, 23, 34, 500000)
>>> UTCDateTime("20091231T122334.5") # compact UTCDateTime(2009, 12, 31, 12, 23, 34, 500000)
>>> UTCDateTime("2009-12-31T12:23:34.5Z") # w/o time zone UTCDateTime(2009, 12, 31, 12, 23, 34, 500000)
>>> UTCDateTime("2009-12-31T12:23:34+01:15") # w/ time zone UTCDateTime(2009, 12, 31, 11, 8, 34)
* Ordinal date representation.
>>> UTCDateTime("2009-365T12:23:34.5") UTCDateTime(2009, 12, 31, 12, 23, 34, 500000)
>>> UTCDateTime("2009365T122334.5") # compact UTCDateTime(2009, 12, 31, 12, 23, 34, 500000)
>>> UTCDateTime("2009001", iso8601=True) # enforce ISO8601 UTCDateTime(2009, 1, 1, 0, 0)
* Week date representation.
>>> UTCDateTime("2009-W53-7T12:23:34.5") UTCDateTime(2010, 1, 3, 12, 23, 34, 500000)
>>> UTCDateTime("2009W537T122334.5") # compact UTCDateTime(2010, 1, 3, 12, 23, 34, 500000)
>>> UTCDateTime("2009W011", iso8601=True) # enforce ISO8601 UTCDateTime(2008, 12, 29, 0, 0)
(3) Using not ISO8601 compatible strings.
>>> UTCDateTime("1970-01-01 12:23:34") UTCDateTime(1970, 1, 1, 12, 23, 34)
>>> UTCDateTime("1970,01,01,12:23:34") UTCDateTime(1970, 1, 1, 12, 23, 34)
>>> UTCDateTime("1970,001,12:23:34") UTCDateTime(1970, 1, 1, 12, 23, 34)
>>> UTCDateTime("20090701121212") UTCDateTime(2009, 7, 1, 12, 12, 12)
>>> UTCDateTime("19700101") UTCDateTime(1970, 1, 1, 0, 0)
>>> UTCDateTime("20110818_03:00:00") UTCDateTime(2011, 8, 18, 3, 0)
(4) Using multiple arguments in the following order: `year, month, day[, hour[, minute[, second[, microsecond]]]`. The year, month and day arguments are required.
>>> UTCDateTime(1970, 1, 1) UTCDateTime(1970, 1, 1, 0, 0)
>>> UTCDateTime(1970, 1, 1, 12, 23, 34, 123456) UTCDateTime(1970, 1, 1, 12, 23, 34, 123456)
(5) Using the following keyword arguments: `year, month, day, julday, hour, minute, second, microsecond`. Either the combination of year, month and day, or year and julday are required.
>>> UTCDateTime(year=1970, month=1, day=1, minute=15, microsecond=20) UTCDateTime(1970, 1, 1, 0, 15, 0, 20)
>>> UTCDateTime(year=2009, julday=234, hour=14, minute=13) UTCDateTime(2009, 8, 22, 14, 13)
(6) Using a Python :class:`datetime.datetime` object.
>>> dt = datetime.datetime(2009, 5, 24, 8, 28, 12, 5001) >>> UTCDateTime(dt) UTCDateTime(2009, 5, 24, 8, 28, 12, 5001)
.. rubric:: _`Precision`
The :class:`UTCDateTime` class works with a default precision of ``6`` digits which effects the comparison of date/time values, e.g.:
>>> dt = UTCDateTime(0) >>> dt2 = UTCDateTime(0.00001) >>> dt3 = UTCDateTime(0.0000001) >>> print(dt.precision) 6 >>> dt == dt2 # 5th digit is within current precision False >>> dt == dt3 # 7th digit will be neglected True
You may change that behaviour either by,
(1) using the ``precision`` keyword during object initialization:
>>> dt = UTCDateTime(0, precision=4) >>> dt2 = UTCDateTime(0.00001, precision=4) >>> print(dt.precision) 4 >>> dt == dt2 True
(2) or set it the class attribute ``DEFAULT_PRECISION`` for all new :class:`UTCDateTime` objects using a monkey patch:
>>> UTCDateTime.DEFAULT_PRECISION = 4 >>> dt = UTCDateTime(0) >>> dt2 = UTCDateTime(0.00001) >>> print(dt.precision) 4 >>> dt == dt2 True
Don't forget to reset ``DEFAULT_PRECISION`` if not needed anymore!
>>> UTCDateTime.DEFAULT_PRECISION = 6
.. _ISO8601:2004: http://en.wikipedia.org/wiki/ISO_8601 """
""" Creates a new UTCDateTime object. """ # set default precision # iso8601 flag # check parameter # use current time if no time is given # check types # got a timestamp # got a Python datetime.datetime object # got a Python datetime.date object # got a string instance # check for ISO8601 date string # try to apply some standard patterns # check for ordinal date (julian date) # check for patterns # looks like an compact ordinal date string parts[1].isdigit(): # looks like an ordinal date string else: else: # some parts should have 2 digits # standard date string else: # The module copy.deepcopy passes a (binary) string to # UTCDateTime which contains the class specifications. If # argument is not a digit by now, it must be a binary string # and we pass it to datetime.datetime, self._fromDateTime(dt) return # check for ordinal/julian date kwargs # year given as kwargs # year is first (and only) argument int(kwargs['julday'])) else:
# check if seconds are given as float value
""" Sets current timestamp using kwargs. """ minute=minute, second=second, microsecond=microsecond).timestamp else: second, microsecond).timestamp
""" Use Python datetime object to set current time.
:type dt: :class:`datetime.datetime` :param dt: Python datetime object. :type ms: float :param ms: extra seconds to add to current UTCDateTime object. """ # see datetime.timedelta.total_seconds 1000000) / 1000000.0 + ms
def _parseISO8601(value): """ Parses an ISO8601:2004 date time string. """ # remove trailing 'Z' # split between date and time # remove all hyphens in date # remove colons in time # guess date pattern # we got a week date: YYYYWwwD # remove week indicator 'W' # [Www] is the week number prefixed by the letter 'W', from W01 # through W53. # strpftime %W == Week number of the year (Monday as the first day # of the week) as a decimal number [00,53]. All days in a new year # preceding the first Monday are considered to be in week 0. # [D] is the weekday number, from 1 through 7, beginning with # Monday and ending with Sunday. # strpftime %w == Weekday as a decimal number [0(Sunday),6] # we got a ordinal date: YYYYDDD # we got a calendar date: YYYYMMDD else: # check for time zone information # note that the zone designator is the actual offset from UTC and # does not include any information on daylight saving time # split microseconds # guess time pattern else: # parse patterns date_pattern + 'T' + time_pattern) # add microseconds and eventually correct time zone
""" Returns UTC timestamp in seconds.
:rtype: float :return: Timestamp in seconds.
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 123456) >>> dt.timestamp 1222864235.123456 """
""" Returns UTC timestamp in seconds.
:rtype: float :return: Timestamp in seconds.
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 123456) >>> float(dt) 1222864235.123456 """
""" Returns a Python datetime object.
:rtype: :class:`datetime.datetime` :return: Python datetime object.
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 45020) >>> dt.datetime datetime.datetime(2008, 10, 1, 12, 30, 35, 45020) """
""" Returns a Python date object..
:rtype: :class:`datetime.date` :return: Python date object.
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 45020) >>> dt.date datetime.date(2008, 10, 1) """
""" Returns year of the current UTCDateTime object.
:rtype: int :return: Returns year as an integer.
.. rubric:: Example
>>> dt = UTCDateTime(2012, 2, 11) >>> dt.year 2012 """
""" Sets year of current UTCDateTime object.
:param value: Year :type value: int
.. rubric:: Example
>>> dt = UTCDateTime(2012, 2, 11, 10, 11, 12) >>> dt.year = 2010 >>> dt UTCDateTime(2010, 2, 11, 10, 11, 12) """
""" Returns month as an integer (January is 1, December is 12).
:rtype: int :return: Returns month as an integer, where January is 1 and December is 12.
.. rubric:: Example
>>> dt = UTCDateTime(2012, 2, 11) >>> dt.month 2 """
""" Sets month of current UTCDateTime object.
:param value: Month :type value: int
.. rubric:: Example
>>> dt = UTCDateTime(2012, 2, 11, 10, 11, 12) >>> dt.month = 10 >>> dt UTCDateTime(2012, 10, 11, 10, 11, 12) """
""" Returns day as an integer.
:rtype: int :return: Returns day as an integer.
.. rubric:: Example
>>> dt = UTCDateTime(2012, 2, 11) >>> dt.day 11 """
""" Sets day of current UTCDateTime object.
:param value: Day :type value: int
.. rubric:: Example
>>> dt = UTCDateTime(2012, 2, 11, 10, 11, 12) >>> dt.day = 20 >>> dt UTCDateTime(2012, 2, 20, 10, 11, 12) """
""" Return the day of the week as an integer (Monday is 0, Sunday is 6).
:rtype: int :return: Returns day of the week as an integer, where Monday is 0 and Sunday is 6.
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 45020) >>> dt.weekday 2 """
""" Returns a Python time object.
:rtype: :class:`datetime.time` :return: Python time object.
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 45020) >>> dt.time datetime.time(12, 30, 35, 45020) """
""" Returns hour as an integer.
:rtype: int :return: Returns hour as an integer.
.. rubric:: Example
>>> dt = UTCDateTime(2012, 2, 11, 10, 11, 12) >>> dt.hour 10 """
""" Sets hours of current UTCDateTime object.
:param value: Hours :type value: int
.. rubric:: Example
>>> dt = UTCDateTime(2012, 2, 11, 10, 11, 12) >>> dt.hour = 20 >>> dt UTCDateTime(2012, 2, 11, 20, 11, 12) """
""" Returns minute as an integer.
:rtype: int :return: Returns minute as an integer.
.. rubric:: Example
>>> dt = UTCDateTime(2012, 2, 11, 10, 11, 12) >>> dt.minute 11 """
""" Sets minutes of current UTCDateTime object.
:param value: Minutes :type value: int
.. rubric:: Example
>>> dt = UTCDateTime(2012, 2, 11, 10, 11, 12) >>> dt.minute = 20 >>> dt UTCDateTime(2012, 2, 11, 10, 20, 12) """
""" Returns seconds as an integer.
:rtype: int :return: Returns seconds as an integer.
.. rubric:: Example
>>> dt = UTCDateTime(2012, 2, 11, 10, 11, 12) >>> dt.second 12 """
""" Sets seconds of current UTCDateTime object.
:param value: Seconds :type value: int
.. rubric:: Example
>>> dt = UTCDateTime(2012, 2, 11, 10, 11, 12) >>> dt.second = 20 >>> dt UTCDateTime(2012, 2, 11, 10, 11, 20) """
""" Returns microseconds as an integer.
:rtype: int :return: Returns microseconds as an integer.
.. rubric:: Example
>>> dt = UTCDateTime(2012, 2, 11, 10, 11, 12, 345234) >>> dt.microsecond 345234 """
""" Sets microseconds of current UTCDateTime object.
:param value: Microseconds :type value: int
.. rubric:: Example
>>> dt = UTCDateTime(2012, 2, 11, 10, 11, 12, 345234) >>> dt.microsecond = 999123 >>> dt UTCDateTime(2012, 2, 11, 10, 11, 12, 999123) """
""" Returns Julian day as an integer.
:rtype: int :return: Julian day as an integer.
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 45020) >>> dt.julday 275 """
""" Sets Julian day of current UTCDateTime object.
:param value: Julian day :type value: int
.. rubric:: Example
>>> dt = UTCDateTime(2008, 12, 5, 12, 30, 35, 45020) >>> dt.julday = 275 >>> dt UTCDateTime(2008, 10, 1, 12, 30, 35, 45020) """
""" Return a time.struct_time such as returned by time.localtime().
:rtype: time.struct_time """
""" Return a time.struct_time of current UTCDateTime object.
:rtype: time.struct_time """
""" Adds seconds and microseconds to current UTCDateTime object.
:type value: int, float :param value: Seconds to add :rtype: :class:`~obspy.core.utcdatetime.UTCDateTime` :return: New UTCDateTime object.
.. rubric:: Example
>>> dt = UTCDateTime(1970, 1, 1, 0, 0) >>> dt + 2 UTCDateTime(1970, 1, 1, 0, 0, 2)
>>> UTCDateTime(1970, 1, 1, 0, 0) + 1.123456 UTCDateTime(1970, 1, 1, 0, 0, 1, 123456) """ # see datetime.timedelta.total_seconds 86400) * 1000000) / 1000000.0
""" Subtracts seconds and microseconds from current UTCDateTime object.
:type value: int, float or :class:`~obspy.core.utcdatetime.UTCDateTime` :param value: Seconds or UTCDateTime object to subtract. Subtracting an UTCDateTime objects results into a relative time span in seconds. :rtype: :class:`~obspy.core.utcdatetime.UTCDateTime` or float :return: New UTCDateTime object or relative time span in seconds.
.. rubric:: Example
>>> dt = UTCDateTime(1970, 1, 2, 0, 0) >>> dt - 2 UTCDateTime(1970, 1, 1, 23, 59, 58)
>>> UTCDateTime(1970, 1, 2, 0, 0) - 1.123456 UTCDateTime(1970, 1, 1, 23, 59, 58, 876544)
>>> UTCDateTime(1970, 1, 2, 0, 0) - UTCDateTime(1970, 1, 1, 0, 0) 86400.0 """ # see datetime.timedelta.total_seconds 86400) * 1000000) / 1000000.0
""" Returns ISO8601 string representation from current UTCDateTime object.
:return: string
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 45020) >>> str(dt) '2008-10-01T12:30:35.045020Z' """ (self.__ms_pattern % (abs(self.timestamp % 1)))[1:])
""" Returns ISO8601 unicode representation from current UTCDateTime object.
:return: unicode
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 45020) >>> unicode(dt) u'2008-10-01T12:30:35.045020Z' """
""" Rich comparison operator '=='.
.. rubric: Example
Comparing two UTCDateTime object will always compare timestamps rounded to a precision of 6 digits by default.
>>> t1 = UTCDateTime(123.000000012) >>> t2 = UTCDateTime(123.000000099) >>> t1 == t2 True
But the actual timestamp differ
>>> t1.timestamp == t2.timestamp False
Resetting the precision changes the behaviour of the operator
>>> t1.precision = 11 >>> t1 == t2 False """
""" Rich comparison operator '!='.
.. rubric: Example
Comparing two UTCDateTime object will always compare timestamps rounded to a precision of 6 digits by default.
>>> t1 = UTCDateTime(123.000000012) >>> t2 = UTCDateTime(123.000000099) >>> t1 != t2 False
But the actual timestamp differ
>>> t1.timestamp != t2.timestamp True
Resetting the precision changes the behaviour of the operator
>>> t1.precision = 11 >>> t1 != t2 True """
""" Rich comparison operator '<'.
.. rubric: Example
Comparing two UTCDateTime object will always compare timestamps rounded to a precision of 6 digits by default.
>>> t1 = UTCDateTime(123.000000012) >>> t2 = UTCDateTime(123.000000099) >>> t1 < t2 False
But the actual timestamp differ
>>> t1.timestamp < t2.timestamp True
Resetting the precision changes the behaviour of the operator
>>> t1.precision = 11 >>> t1 < t2 True """
""" Rich comparison operator '<='.
.. rubric: Example
Comparing two UTCDateTime object will always compare timestamps rounded to a precision of 6 digits by default.
>>> t1 = UTCDateTime(123.000000099) >>> t2 = UTCDateTime(123.000000012) >>> t1 <= t2 True
But the actual timestamp differ
>>> t1.timestamp <= t2.timestamp False
Resetting the precision changes the behaviour of the operator
>>> t1.precision = 11 >>> t1 <= t2 False """
""" Rich comparison operator '>'.
.. rubric: Example
Comparing two UTCDateTime object will always compare timestamps rounded to a precision of 6 digits by default.
>>> t1 = UTCDateTime(123.000000099) >>> t2 = UTCDateTime(123.000000012) >>> t1 > t2 False
But the actual timestamp differ
>>> t1.timestamp > t2.timestamp True
Resetting the precision changes the behaviour of the operator
>>> t1.precision = 11 >>> t1 > t2 True """
""" Rich comparison operator '>='.
.. rubric: Example
Comparing two UTCDateTime object will always compare timestamps rounded to a precision of 6 digits by default.
>>> t1 = UTCDateTime(123.000000012) >>> t2 = UTCDateTime(123.000000099) >>> t1 >= t2 True
But the actual timestamp differ
>>> t1.timestamp >= t2.timestamp False
Resetting the precision changes the behaviour of the operator
>>> t1.precision = 11 >>> t1 >= t2 False """
""" Returns a representation of UTCDatetime object. """
""" Returns absolute timestamp value of the current UTCDateTime object. """ # needed for unittest.assertAlmostEqual tests on linux return abs(self.timestamp)
""" Return a string representing the date and time, controlled by an explicit format string.
:type format: str :param format: Format string. :return: Formated string representing the date and time.
Format codes referring to hours, minutes or seconds will see 0 values. See methods :meth:`~datetime.datetime.strftime()` and :meth:`~datetime.datetime.strptime()` for more information. """
""" Return a UTCDateTime corresponding to date_string, parsed according to given format.
:type date_string: str :param date_string: Date and time string. :type format: str :param format: Format string. :return: :class:`~obspy.core.utcdatetime.UTCDateTime`
See methods :meth:`~datetime.datetime.strftime()` and :meth:`~datetime.datetime.strptime()` for more information. """ return UTCDateTime(datetime.datetime.strptime(date_string, format))
""" Return time object with same hour, minute, second, microsecond, and tzinfo attributes. See also method :meth:`datetime.datetime.time()`.
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 45020) >>> dt.timetz() datetime.time(12, 30, 35, 45020) """
""" Returns None (to stay compatible with :class:`datetime.datetime`)
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 45020) >>> dt.utcoffset() """
""" Returns None (to stay compatible with :class:`datetime.datetime`)
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 45020) >>> dt.dst() """
""" Returns None (to stay compatible with :class:`datetime.datetime`)
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 45020) >>> dt.tzname() """
""" Return a string representing the date and time.
.. rubric:: Example
>>> UTCDateTime(2002, 12, 4, 20, 30, 40).ctime() 'Wed Dec 4 20:30:40 2002' """
""" Return the day of the week as an integer (Monday is 1, Sunday is 7).
:rtype: int :return: Returns day of the week as an integer, where Monday is 1 and Sunday is 7.
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 45020) >>> dt.isoweekday() 3 """
""" Returns a tuple containing (ISO year, ISO week number, ISO weekday).
:rtype: tuple of ints :return: Returns a tuple containing ISO year, ISO week number and ISO weekday.
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 45020) >>> dt.isocalendar() (2008, 40, 3) """
""" Return a string representing the date and time in ISO 8601 format.
:rtype: str :return: String representing the date and time in ISO 8601 format like YYYY-MM-DDTHH:MM:SS.mmmmmm or, if microsecond is 0, YYYY-MM-DDTHH:MM:SS.
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 45020) >>> dt.isoformat() '2008-10-01T12:30:35.045020'
>>> dt = UTCDateTime(2008, 10, 1) >>> dt.isoformat() '2008-10-01T00:00:00' """
""" Returns string representation for the IRIS Fissures protocol.
:return: string
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 45020) >>> dt.formatFissures() '2008275T123035.0450Z' """ (self.year, self.julday, self.hour, self.minute, self.second, self.microsecond // 100)
""" Returns string representation for the ArcLink protocol.
:return: string
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 45020) >>> dt.formatArcLink() '2008,10,1,12,30,35,45020' """ self.hour, self.minute, self.second, self.microsecond)
""" Returns string representation for the SeedLink protocol.
:return: string
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35.45020) >>> dt.formatSeedLink() '2008,10,1,12,30,35' """ # round seconds down to integer self.hour, self.minute, seconds)
""" Returns string representation for a SEED volume.
:type compact: boolean, optional :param compact: Delivers a compact SEED date string if enabled. Default value is set to False. :rtype: string :return: Datetime string in the SEED format.
.. rubric:: Example
>>> dt = UTCDateTime(2008, 10, 1, 12, 30, 35, 45020) >>> dt.formatSEED() '2008,275,12:30:35.0450'
>>> dt = UTCDateTime(2008, 10, 1, 0, 30, 0, 0) >>> dt.formatSEED(compact=True) '2008,275,00:30' """ self.hour, self.minute, self.second, self.microsecond // 100) self.microsecond // 100)
""" Returns string representation usable for the IRIS Web services.
:return: string
.. rubric:: Example
>>> dt = UTCDateTime(2008, 5, 27, 12, 30, 35, 45020) >>> dt.formatIRISWebService() '2008-05-27T12:30:35.045' """ (self.year, self.month, self.day, self.hour, self.minute, self.second, self.microsecond // 1000)
""" Returns precision of current UTCDateTime object.
:return: int
.. rubric:: Example
>>> dt = UTCDateTime() >>> dt.precision 6 """
""" Set precision of current UTCDateTime object.
:type value: int, optional :param value: Precision value used by the rich comparison operators. Defaults to ``6``.
.. rubric:: Example
(1) Default precision
>>> dt = UTCDateTime() >>> dt.precision 6
(2) Set precision during initialization of UTCDateTime object.
>>> dt = UTCDateTime(precision=5) >>> dt.precision 5
(3) Set precision for an existing UTCDateTime object.
>>> dt = UTCDateTime() >>> dt.precision = 12 >>> dt.precision 12 """
""" Return proleptic Gregorian ordinal. January 1 of year 1 is day 1.
See :meth:`datetime.datetime.toordinal()`.
:return: int
.. rubric:: Example
>>> dt = UTCDateTime(2012, 1, 1) >>> dt.toordinal() 734503 """
def now(): """ Returns current UTC datetime. """ return UTCDateTime()
def utcnow(): """ Returns current UTC datetime. """ return UTCDateTime()
if __name__ == '__main__': import doctest doctest.testmod(exclude_empty=True) |