本文由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008
一图看懂 dateutil 模块:Python datetime 模块的扩展,资料整理+笔记(大全)
- 🧊摘要
- 🧊模块图
- 🧊类关系图
- 🧊模块全展开
- ☘️【dateutil】
- 🔵统计
- 🔵模块
- 🌿1 dateutil._version
- 🌿2 dateutil.easter
- 🌿3 dateutil._common
- 🌿4 dateutil.relativedelta
- 🌿5 dateutil.tz
- 🌿6 dateutil.parser
- 🌿7 dateutil.rrule
- 🌿8 dateutil.utils
- 🌿9 dateutil.zoneinfo
- 🔵私有或局部
- ☘️【dateutil.tz._factories】
- 🔵统计
- 🔵模块
- 🌿1 weakref
- 🌿2 _thread
- 🔵类
- 🌿3 datetime.timedelta
- 🌿4 collections.OrderedDict
- 🌿5 dateutil.tz._factories._TzSingleton
- 🌿6 dateutil.tz._factories._TzFactory
- method
- 🌿7 dateutil.tz._factories._TzOffsetFactory
- 🌿8 dateutil.tz._factories._TzStrFactory
- 🔵私有或局部
- ☘️【dateutil.tz.win】
- 🔵统计
- 🌿str
- 🔵模块
- 🌿5 datetime
- 🌿6 struct
- 🌿7 winreg
- 🌿8 ctypes
- 🌿9 ctypes.wintypes
- 🔵函数
- 🌿10 _settzkeyname()
- 🌿11 picknthweekday(year, month, dayofweek, hour, minute, whichweek)
- 🌿12 valuestodict(key)
- 🔵类
- 🌿13 str
- 🌿14 dateutil.tz._common.tzrangebase
- method
- 🌿15 dateutil.tz.win.tzres
- data
- method
- 🌿16 dateutil.tz.win.tzwinbase
- method
- static method
- 🌿17 dateutil.tz.win.tzwin
- 🌿18 dateutil.tz.win.tzwinlocal
- 🔵私有或局部
- 🔵剩余
- ☘️【dateutil.parser._parser】
- 🔵统计
- 🌿tuple
- 🔵模块
- 🌿2 datetime
- 🌿3 re
- 🌿4 string
- 🌿5 time
- 🌿6 warnings
- 🌿7 six
- 🌿8 dateutil.relativedelta
- 🌿9 dateutil.tz
- 🔵函数
- 🌿10 monthrange(year, month)
- 🌿11 parse(timestr, parserinfo=None, **kwargs)
- 🌿12 _parsetz(tzstr)
- 🔵类
- 🌿13 _io.StringIO
- 🌿13 str
- 🌿13 decimal.Decimal
- 🌿14 dateutil.parser._parser._timelex
- method
- class method
- 🌿15 dateutil.parser._parser._resultbase
- 🌿16 dateutil.parser._parser.parserinfo
- data
- method
- 🌿17 dateutil.parser._parser._ymd
- property
- method
- 🌿18 dateutil.parser._parser.parser
- method
- 🌿19 dateutil.parser._parser._tzparser
- method
- 🌿20 dateutil.parser._parser.ParserError
- 🌿21 dateutil.parser._parser.UnknownTimezoneWarning
- 🔵内嵌函数或方法
- 🔵私有或局部
- 🔵剩余
- ☘️【dateutil._version】
- ☘️【dateutil.easter】
- ☘️【dateutil._common】
- ☘️【dateutil.relativedelta】
- ☘️【dateutil.tz】
- ☘️【dateutil.parser】
- ☘️【dateutil.rrule】
- ☘️【dateutil.utils】
- ☘️【dateutil.zoneinfo】
- ☘️【dateutil.tz.tz】
- ☘️【struct】
- ☘️【time】
- ☘️【sys】
- ☘️【os】
- ☘️【bisect】
- ☘️【weakref】
- ☘️【six】
- ☘️【datetime】
- ☘️【calendar】
- ☘️【operator】
- ☘️【heapq】
- ☘️【itertools】
- ☘️【re】
- ☘️【_thread】
- ☘️【warnings】
- ☘️【json】
- ☘️【winreg】
- ☘️【ctypes】
- ☘️【ctypes.wintypes】
- ☘️【string】
🧊摘要
- 全文介绍python的 dateutil 模块(Python datetime 模块的扩展)、函数、类及类的方法和属性。
- 它通过代码抓取并经AI智能翻译和人工校对。
- 是一部不可多得的权威字典类工具书。它是系列集的一部分。后续陆续发布、敬请关注。【原创:AhcaoZhu大侠】
🧊模块图
dateutil
dateutil._version
dateutil.easter
dateutil._common
dateutil.relativedelta
dateutil.tz
dateutil.tz._common
dateutil.tz._factories
dateutil.tz.win
◆winreg
dateutil.tz.tz
◆bisect
dateutil.parser
dateutil.parser._parser
dateutil.rrule
◆heapq
dateutil.utils
dateutil.zoneinfo
🧊类关系图
◆object
◆BaseException
◆Exception
◆ValueError
dateutil.parser._parser.ParserError
◆Warning
◆RuntimeWarning
dateutil.parser._parser.UnknownTimezoneWarning
dateutil.tz.DeprecatedTzFormatWarning
◆datetime.tzinfo
◆datetime.timezone
dateutil.tz._common._tzinfo
dateutil.tz._common.tzrangebase
dateutil.tz.tz.tzrange
dateutil.tz.tz.tzstr
dateutil.tz.win.tzwinbase
dateutil.tz.win.tzwin
dateutil.tz.win.tzwinlocal
dateutil.tz.tz._tzicalvtz
dateutil.tz.tz.tzfile
dateutil.zoneinfo.tzfile
dateutil.tz.tz.tzlocal
dateutil.tz.tz.tzoffset
dateutil.tz.tz.tzutc
dateutil._common.weekday
dateutil.rrule.weekday
dateutil.parser._parser._resultbase
dateutil.parser.__deprecate_private_class.<locals>.private_class
dateutil.parser._parser._timelex
dateutil.parser.__deprecate_private_class.<locals>.private_class
dateutil.parser._parser._tzparser
dateutil.parser.__deprecate_private_class.<locals>.private_class
dateutil.parser._parser.parser
dateutil.parser._parser.parserinfo
dateutil.parser.isoparser.isoparser
dateutil.relativedelta.relativedelta
dateutil.rrule._iterinfo
dateutil.rrule._rrulestr
dateutil.rrule.rrulebase
dateutil.rrule.rrule
dateutil.rrule.rruleset
dateutil.tz.tz._ttinfo
dateutil.tz.tz._tzfile
dateutil.tz.tz._tzicalvtzcomp
dateutil.tz.tz.tzical
dateutil.tz.win.tzres
dateutil.zoneinfo.ZoneInfoFile
◆list
dateutil.parser._parser._ymd
◆type
dateutil.tz._factories._TzFactory
dateutil.tz._factories._TzOffsetFactory
dateutil.tz._factories._TzStrFactory
dateutil.tz._factories._TzSingleton
🧊模块全展开
☘️【dateutil】
dateutil, fullname=dateutil, file=dateutil_init_.py
🔵统计
序号 | 类别 | 数量 |
---|---|---|
4 | str | 5 |
6 | list | 2 |
8 | dict | 1 |
9 | module | 9 |
13 | residual | 3 |
14 | system | 11 |
15 | private | 2 |
16 | all | 20 |
🔵模块
🌿1 dateutil._version
_version, fullname=dateutil._version, file=dateutil_version.py
🌿2 dateutil.easter
easter, fullname=dateutil.easter, file=dateutil\easter.py
该模块提供了任何给定年份的通用复活节计算方法,使用西方Western,东正教Orthodox或朱利安Julian算法。
🌿3 dateutil._common
_common, fullname=dateutil._common, file=dateutil_common.py
在多个模块中使用的通用代码。
🌿4 dateutil.relativedelta
relativedelta, fullname=dateutil.relativedelta, file=dateutil\relativedelta.py
🌿5 dateutil.tz
tz, fullname=dateutil.tz, file=dateutil\tz_init_.py
该模块提供了子类化抽象 :py:class:`datetime.tzinfo` 的时区实现。
有一些类可以处理tzfile格式文件(通常在 :file:`/etc/localtime`,:file:`/usr/share/zoneinfo`等),
TZ环境字符串(在所有已知格式中),给定范围(在相对增量的帮助下),本地机器时区,固定偏移时区和UTC时区。
🌿6 dateutil.parser
parser, fullname=dateutil.parser, file=dateutil\parser_init_.py
这个模块提供了一个通用的日期/时间字符串解析器,它能够解析大多数已知的格式来表示日期和/或时间。
此模块尝试原谅不太可能的输入格式,即使对于模棱两可的日期也会返回datetime对象。
如果省略日期/时间戳的一个元素,则应用以下规则:
—如果不指定AM或PM,则假定为24小时制,但如果指定AM或PM,则[必须]指定12小时制中的一个小时(``0 <= hour <= 12``) 。
—如果省略时区,则返回无时区的datetime。
如果缺少任何其他元素,则从 :class:`datetime.datetime` 中获取。传递给参数 ``default`` 的日期时间对象。
如果这导致的天数超过每月的有效天数,则该值将回落到月末。
关于日期/时间的额外资源可以找到字符串格式如下:
- [国际标准的总结日期和时间标记](https://www.cl.cam.ac.uk/~mgk25/iso-time.html)
- [W3C日期和时间格式](https://www.w3.org/TR/NOTE-datetime)
- [时间格式(行星环节点 Planetary Rings Node](https://pds-rings.seti.org:443/tools/time_formats.html)
- [`]CPAN ParseDate 模块](https://metacpan.org/pod/release/MUIR/Time-modules-2013.0912/lib/Time/ParseDate.pm)
- [Java SimpleDateFormat类](https://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html)
🌿7 dateutil.rrule
rrule, fullname=dateutil.rrule, file=dateutil\rrule.py
rrule模块为 [iCalendar RFC](https://tools.ietf.org/html/rfc5545) 中记录的递归规则提供了一个小的、完整的、非常快的实现,包括对结果缓存的支持。
🌿8 dateutil.utils
utils, fullname=dateutil.utils, file=dateutil\utils.py
这个模块为处理日期时间提供了一般的便利和实用功能。
版本增加: 2.7.0
🌿9 dateutil.zoneinfo
zoneinfo, fullname=dateutil.zoneinfo, file=dateutil\zoneinfo_init_.py
🔵私有或局部
10 _version <module ‘dateutil._version’ from ‘…\lib\site-packages\dateutil\_version.py’>
11 _common <module ‘dateutil._common’ from ‘…\lib\site-packages\dateutil\_common.py’>
☘️【dateutil.tz._factories】
_factories, fullname=dateutil.tz._factories, file=dateutil\tz_factories.py
🔵统计
序号 | 类别 | 数量 |
---|---|---|
4 | str | 4 |
8 | dict | 1 |
9 | module | 2 |
10 | class | 6 |
13 | residual | 3 |
14 | system | 8 |
15 | private | 5 |
16 | all | 16 |
🔵模块
🌿1 weakref
weakref, fullname=weakref, file=weakref.py
🌿2 _thread
_thread, fullname=_thread, file=
该模块提供编写多线程程序的基本操作。'threading'模块提供了一个更方便的接口。
🔵类
🌿3 datetime.timedelta
timedelta, datetime.timedelta, module=datetime, line:0 at
两个日期时间值之间的差异。
🌿4 collections.OrderedDict
OrderedDict, collections.OrderedDict, module=collections, line:81 at collections_init_.py
🌿5 dateutil.tz._factories._TzSingleton
_TzSingleton, dateutil.tz._factories._TzSingleton, module=dateutil.tz._factories, line:8 at site-packages\dateutil\tz_factories.py
🌿6 dateutil.tz._factories._TzFactory
_TzFactory, dateutil.tz._factories._TzFactory, module=dateutil.tz._factories, line:19 at site-packages\dateutil\tz_factories.py
method
1 instance(cls, *args, **kwargs)
kind=method class=_TzFactory objtype=function line:20 at …\lib\site-packages\dateutil\tz_factories.py
返回新实例的备用构造函数
🌿7 dateutil.tz._factories._TzOffsetFactory
_TzOffsetFactory, dateutil.tz._factories._TzOffsetFactory, module=dateutil.tz._factories, line:25 at site-packages\dateutil\tz_factories.py
🌿8 dateutil.tz._factories._TzStrFactory
_TzStrFactory, dateutil.tz._factories._TzStrFactory, module=dateutil.tz._factories, line:55 at site-packages\dateutil\tz_factories.py
🔵私有或局部
9 _thread <module ‘_thread’ (built-in)>
10 _TzSingleton <class ‘dateutil.tz._factories._TzSingleton’>
11 _TzFactory <class ‘dateutil.tz._factories._TzFactory’>
12 _TzOffsetFactory <class ‘dateutil.tz._factories._TzOffsetFactory’>
13 _TzStrFactory <class ‘dateutil.tz._factories._TzStrFactory’>
☘️【dateutil.tz.win】
win, fullname=dateutil.tz.win, file=dateutil\tz\win.py
该模块提供了Windows上本机时区数据的接口,包括 :py:class:`datetime.tzinfo` 实现。
尝试在非windows平台上导入此模块将引发 :py:obj:`ImportError`。
🔵统计
序号 | 类别 | 数量 |
---|---|---|
4 | str | 9 |
6 | list | 1 |
8 | dict | 1 |
9 | module | 5 |
10 | class | 6 |
11 | function | 3 |
13 | residual | 3 |
14 | system | 9 |
15 | private | 1 |
16 | all | 28 |
🌿str
1 TZKEYNAMENT SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
2 TZKEYNAME9X SOFTWARE\Microsoft\Windows\CurrentVersion\Time Zones
3 TZLOCALKEYNAME SYSTEM\CurrentControlSet\Control\TimeZoneInformation
4 TZKEYNAME SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
🔵模块
🌿5 datetime
datetime, fullname=datetime, file=datetime.py
🌿6 struct
struct, fullname=struct, file=struct.py
🌿7 winreg
winreg, fullname=winreg, file=
这个模块提供了对Windows注册表API的访问。
🌿8 ctypes
ctypes, fullname=ctypes, file=ctypes_init_.py
🌿9 ctypes.wintypes
wintypes, fullname=ctypes.wintypes, file=ctypes\wintypes.py
🔵函数
🌿10 _settzkeyname()
_settzkeyname(), module=dateutil.tz.win, line:34 at site-packages\dateutil\tz\win.py
🌿11 picknthweekday(year, month, dayofweek, hour, minute, whichweek)
picknthweekday(year, month, dayofweek, hour, minute, whichweek), module=dateutil.tz.win, line:333 at site-packages\dateutil\tz\win.py
dayofweek = 0表示星期日,第5周表示最后一个实例
🌿12 valuestodict(key)
valuestodict(key), module=dateutil.tz.win, line:347 at site-packages\dateutil\tz\win.py
将注册表项的值转换为字典。
🔵类
🌿13 str
str, str, module=builtins, line:0 at
🌿14 dateutil.tz._common.tzrangebase
tzrangebase, dateutil.tz._common.tzrangebase, module=dateutil.tz._common, line:267 at site-packages\dateutil\tz_common.py
这是一个抽象的基类,用于每年转换到夏时制和夏时制的时区。
子类应该实现以下方法:
* ``__init__(self, *args, **kwargs)``
* ``transitions(self, year)`` - 这将返回一个表示夏令时在标准时间开启和关闭转换的日期时间元组。
一个完全初始化的 ``tzrangebase`` 子类还应该提供以下属性:
* ``hasdst``: 布尔值该区域是否使用夏令时DST。
* ``_dst_offset`` / ``_std_offset``: :class:`datetime.timedelta` 对象表示各自的UTC偏移量。
* ``_dst_abbr`` / ``_std_abbr``: 字符串,分别表示dst和std的时区缩写。
* ``_hasdst``: 该区域是否有夏令时。
版本增加: 2.6.0
method
1 dst(self, dt)
kind=method class=tzrangebase objtype=function line:302 at …\lib\site-packages\dateutil\tz_common.py
2 fromutc(self, dt)
kind=method class=tzrangebase objtype=function line:319 at …\lib\site-packages\dateutil\tz_common.py
给定UTC格式的日期时间,返回本地时间
3 is_ambiguous(self, dt)
kind=method class=tzrangebase objtype=function line:352 at …\lib\site-packages\dateutil\tz_common.py
给定日期时间的“固定时间wall time”在此区域中是否存在歧义。
:param dt: 类 :py:class:`datetime.datetime`, 天真或时区意识。
:return: 如果有歧义返回 ``True``, 否则返回``False``。
版本增加: 2.6.0
4 tzname(self, dt)
kind=method class=tzrangebase objtype=function line:313 at …\lib\site-packages\dateutil\tz_common.py
5 utcoffset(self, dt)
kind=method class=tzrangebase objtype=function line:292 at …\lib\site-packages\dateutil\tz_common.py
🌿15 dateutil.tz.win.tzres
tzres, dateutil.tz.win.tzres, module=dateutil.tz.win, line:48 at site-packages\dateutil\tz\win.py
类,用于访问 ``tzres.dll`` ,其中包含与时区名称相关的资源。
版本增加: 2.5.0
data
1 p_wchar=<class ‘ctypes.LP_c_wchar’> kind:data type:PyCPointerType class:<class ‘dateutil.tz.win.tzres’>
method
2 load_name(self, offset)
kind=method class=tzres objtype=function line:71 at …\lib\site-packages\dateutil\tz\win.py
从DLL偏移量(整数)加载时区名称。
>>> from dateutil.tzwin import tzres
>>> tzr = tzres()
>>> print(tzr.load_name(112))
'Eastern Standard Time'东部标准时间
:param offset: 一个正整数值,引用 tzres dll 中的字符串。
注意:在注册表中找到的偏移量通常是 ``@tzres.dll,-114``。这种情况下的偏移量是114,而不是-114。
3 name_from_string(self, tzname_str)
kind=method class=tzres objtype=function line:94 at …\lib\site-packages\dateutil\tz\win.py
将从Windows注册表返回的字符串解析为注册表中定义的时区名称。
>>> from dateutil.tzwin import tzres
>>> tzr = tzres()
>>> print(tzr.name_from_string('@tzres.dll,-251'))
'Dateline Daylight Time'
>>> print(tzr.name_from_string('Eastern Standard Time'))
'Eastern Standard Time'
:param tzname_str: 从Windows注册表项返回的时区名称字符串。
:return: 如果字符串是 `@tzres.dll,-offset` 的形式,则返回来自tzres.dll的本地化时区字符串,否则返回输入字符串。
🌿16 dateutil.tz.win.tzwinbase
tzwinbase, dateutil.tz.win.tzwinbase, module=dateutil.tz.win, line:125 at site-packages\dateutil\tz\win.py
基于注册表中可用的win32时区的Tzinfo类。
method
1 display(self)
kind=method class=tzwinbase objtype=function line:157 at …\lib\site-packages\dateutil\tz\win.py
返回时区的显示名称。
2 transitions(self, year)
kind=method class=tzwinbase objtype=function line:163 at …\lib\site-packages\dateutil\tz\win.py
对于给定年份,获取夏令时开启和关闭的过渡时间,总是在标准时间一侧表示。
对于没有过渡的区域,此函数返回``None``。
:param year: 要查询转换年份。
:return:
返回一个 :class:`datetime.datetime` 的 class:`tuple` 对象。
``(dston, dstoff)`` 用于每年DST转换的区域,或
``None`` 用于固定偏移的区域。
static method
3 list()
kind=static method class=tzwinbase objtype=staticmethod line:149 at …\lib\site-packages\dateutil\tz\win.py
🌿17 dateutil.tz.win.tzwin
tzwin, dateutil.tz.win.tzwin, module=dateutil.tz.win, line:125 at site-packages\dateutil\tz\win.py
从Windows注册表中的区域信息创建的时区对象。这些类似于 :py:class:`dateutil.tz.tzrange`对象,
其中时区数据以每年0或2个时区转换的单个偏移规则格式提供。
:param: name Windows时区键名。“东部标准时间”。键的完整列表可以通过 :func:`tzwin.list` 来获取。
🌿18 dateutil.tz.win.tzwinlocal
tzwinlocal, dateutil.tz.win.tzwinlocal, module=dateutil.tz.win, line:259 at site-packages\dateutil\tz\win.py
表示Windows注册表中的本地时区信息。
类,:class:`dateutil.tz.tzlocal` 通过系统调用(通过 :mod:`time` 模块)来检索时区信息,
``tzwinlocal`` 直接从Windows注册表中检索规则并创建一个像 :class:`dateutil.tz.tzwin` 这样的对象。
因为Windows没有等价的 :func:`time.tzset`。
在Windows上,:class:`dateutil.tz.tzlocal` 实例将始终反映进程启动时的时区设置,
这意味着在Windows上运行程序期间对机器时区设置的更改将[不会]由 :class:`dateutil.tz.tzlocal` 反映。
因为 ``tzwinlocal`` 直接读取注册表,所以不受此问题的影响。
🔵私有或局部
19 _settzkeyname <function _settzkeyname at 0x000001997185AD38>
🔵剩余
20 loader <_frozen_importlib_external.SourceFileLoader object at 0x000001997185B588>
21 spec ModuleSpec(name=‘dateutil.tz.win’, loader=<_frozen_importlib_external.SourceFileLoader object at 0x000001997185B588>, origin=‘…\lib\site-packages\dateutil\tz\win.py’)
22 ONEWEEK 7 days, 0:00:00
☘️【dateutil.parser._parser】
_parser, fullname=dateutil.parser._parser, file=dateutil\parser_parser.py
这个模块提供了一个通用的日期/时间字符串解析器,它能够解析大多数已知的格式来表示日期和/或时间。
参见 dateutil.parser
🔵统计
序号 | 类别 | 数量 |
---|---|---|
4 | str | 5 |
5 | tuple | 1 |
6 | list | 1 |
8 | dict | 1 |
9 | module | 8 |
10 | class | 11 |
11 | function | 3 |
12 | builtin_function_or_method | 1 |
13 | residual | 5 |
14 | system | 9 |
15 | private | 5 |
16 | all | 36 |
🌿tuple
1 integer_types (<class ‘int’>,)
🔵模块
🌿2 datetime
datetime, fullname=datetime, file=datetime.py
🌿3 re
re, fullname=re, file=re.py
🌿4 string
string, fullname=string, file=string.py
🌿5 time
time, fullname=time, file=
🌿6 warnings
warnings, fullname=warnings, file=warnings.py
🌿7 six
six, fullname=six, file=six.py
用于编写在Python 2和3上运行的代码的实用程序
🌿8 dateutil.relativedelta
relativedelta, fullname=dateutil.relativedelta, file=dateutil\relativedelta.py
🌿9 dateutil.tz
tz, fullname=dateutil.tz, file=dateutil\tz_init_.py
🔵函数
🌿10 monthrange(year, month)
monthrange(year, month), module=calendar, line:120 at calendar.py
返回年、月的工作日(0-6 ~星期一至星期日)和天数(28-31)。
🌿11 parse(timestr, parserinfo=None, **kwargs)
parse(timestr, parserinfo=None, **kwargs), module=dateutil.parser._parser, line:1270 at site-packages\dateutil\parser_parser.py
使用 ``parserinfo`` 参数以支持的格式之一解析字符串。
:param timestr: 包含日期/时间戳的字符串。
:param parserinfo: 一个 :class:`parserinfo` 对象,包含解析器的参数。如果``None``,则使用 :class:`parserinfo` 构造函数的默认参数。
``**kwargs``形参接受以下关键字参数:
:param default: 默认的日期时间对象,如果这是一个日期时间对象而不是 ``None``, ``timestr``中指定的元素将替换默认对象中的元素。
:param ignoretz: 如果设置为``True``,则解析字符串中的时区将被忽略,并返回一个朴素的:class:`datetime`对象。
:param tzinfos: 字符串中可能出现的其他时区名称/别名。此参数将时区名称(以及这些时区的可选偏移量)映射到时区。
此参数可以是带有时区别名的字典,将时区名称映射为时区,也可以是带有两个参数(``tzname``和``tzoffset``)并返回时区的函数。
名称映射到的时区可以是以秒为单位的整数UTC偏移量或:class:`tzinfo`对象。
doctest::
:options: +NORMALIZE WHITESPACE
>>> from dateutil.parser import parse
>>> from dateutil.tz import gettz
>>> tzinfos = {"BRST": -7200, "CST": gettz("America/Chicago")}
>>> parse("2012-01-19 17:21:00 BRST", tzinfos=tzinfos)
datetime.datetime(2012, 1, 19, 17, 21, tzinfo=tzoffset(u'BRST', -7200))
>>> parse("2012-01-19 17:21:00 CST", tzinfos=tzinfos)
datetime.datetime(2012, 1, 19, 17, 21, tzinfo=tzfile('/usr/share/zoneinfo/America/Chicago'))
如果设置了``ignoretz``,则忽略该参数。
:param dayfirst: 是否将歧义的3个整数日期(例如01/05/09)中的第一个值解释为日(``True``)或月(``False``)。
如果``yearfirst``设置为``True``,则区分YDM和YMD。
如果设置为``False``,则从当前:class:`parserinfo` 对象(其本身默认为``False``)检索此值。
: param证: 是否将有歧义的3个整数日期(例如01/05/09)中的第一个值解释为年份。
如果``True``,第一个数字是年份,否则最后一个数字是年份。
如果设置为' None ',则从当前:class:`parserinfo` 对象(其本身默认为``False``)检索该值。
:param fuzzy: 是否允许模糊解析,允许像“今天是2047年1月1日8:21:00AM”这样的字符串。
:param fuzzy_with_tokens: 如果``True``, ``fuzzy``会自动设置为True,并且解析器将返回一个元组,
其中第一个元素是解析过的 :class:`datetime.datetime` datetimestamp和第二个元素是一个元组,
包含字符串中被忽略的部分:
.Doctest:
>>> from dateutil.parser import parse
>>> parse("Today is January 1, 2047 at 8:21:00AM", fuzzy_with_tokens=True)
(datetime.datetime(2047, 1, 1, 8, 21), (u'Today is ', u' ', u'at '))
:return: 返回一个 :class:`datetime.datetime` 或者,如果``fuzzy with tokens``选项为``True``,则返回一个元组,
第一个元素是 :class:`datetime.datetime` 对象,第二个是包含模糊标记的元组。
:raises ParserError: 如果提供的:class:`tzinfo` 不是有效的格式,或者将创建一个无效的日期,则会引发无效或未知的字符串格式。
:raises OverflowError: 如果解析的日期超过系统上最大的有效C整数将引发。
🌿12 _parsetz(tzstr)
_parsetz(tzstr), module=dateutil.parser._parser, line:1585 at site-packages\dateutil\parser_parser.py
🔵类
🌿13 _io.StringIO
StringIO, _io.StringIO, module=_io, line:0 at
🌿13 str
str, str, module=builtins, line:0 at
🌿13 decimal.Decimal
Decimal, decimal.Decimal, module=decimal, line:0 at
🌿14 dateutil.parser._parser._timelex
_timelex, dateutil.parser._parser._timelex, module=dateutil.parser._parser, line:58 at site-packages\dateutil\parser_parser.py
method
1 get_token(self)
kind=method class=_timelex objtype=function line:77 at …\lib\site-packages\dateutil\parser_parser.py
该函数将时间字符串分解为词法单位(令牌),解析器可以对其进行解析。
词汇单位是通过字符集的变化来划分的,所以任何连续的字母字符串都被认为是一个单位,任何连续的数字字符串都被认为是一个单位。
主要的复杂之处在于点('.')既可以用作分隔符(例如,"Sep.20.2009")或小数点(例如:“4:30:21.447”)。
因此,在将任何以点分隔的字符串分解为令牌之前,有必要读取其完整的上下文;
因此,该函数维护一个“令牌堆栈”,以便在模棱两可的上下文要求一次解析多个令牌时使用。
2 next(self)
kind=method class=_timelex objtype=function line:196 at …\lib\site-packages\dateutil\parser_parser.py
class method
3 isnum(cls, nextchar)
kind=class method class=_timelex objtype=classmethod line:209 at …\lib\site-packages\dateutil\parser_parser.py
将函数转换为类方法。
4 isspace(cls, nextchar)
kind=class method class=_timelex objtype=classmethod line:214 at …\lib\site-packages\dateutil\parser_parser.py
5 isword(cls, nextchar)
kind=class method class=_timelex objtype=classmethod line:204 at …\lib\site-packages\dateutil\parser_parser.py
6 split(cls, s)
kind=class method class=_timelex objtype=classmethod line:200 at …\lib\site-packages\dateutil\parser_parser.py
🌿15 dateutil.parser._parser._resultbase
_resultbase, dateutil.parser._parser._resultbase, module=dateutil.parser._parser, line:219 at site-packages\dateutil\parser_parser.py
🌿16 dateutil.parser._parser.parserinfo
parserinfo, dateutil.parser._parser.parserinfo, module=dateutil.parser._parser, line:241 at site-packages\dateutil\parser_parser.py
类,该类处理接受哪些输入。子类化它以自定义语言和每个参数的可接受值。
:param dayfirst: 是否将歧义的3个整数日期(例如01/05/09)中的第一个值解释为日(``True``)或月(``False``)。
如果``yearfirst``设置为``True``,则区分YDM和YMD。默认为“False”。
:param yearfirst: 是否将有歧义的3个整数日期(例如01/05/09)中的第一个值解释为年份。
如果``True``,第一个数字是年份,否则最后一个数字是年份。默认为``False``。
data
1 AMPM=[(‘am’, ‘a’), (‘pm’, ‘p’)] kind:data type:list class:<class ‘dateutil.parser._parser.parserinfo’>
2 HMS=[(‘h’, ‘hour’, ‘hours’), (‘m’, ‘minute’, ‘minutes’), (‘s’, ‘second’, ‘seconds’)] kind:data type:list class:<class ‘dateutil.parser._parser.parserinfo’>
3 JUMP=[’ ‘, ‘.’, ‘,’, ‘;’, ‘-’, ‘/’, "’", ‘at’, ‘on’, ‘and’, ‘ad’, ‘m’, ‘t’, ‘of’, ‘st… kind:data type:list class:<class ‘dateutil.parser._parser.parserinfo’>
4 MONTHS=[(‘Jan’, ‘January’), (‘Feb’, ‘February’), (‘Mar’, ‘March’), (‘Apr’, ‘April’), (’… kind:data type:list class:<class ‘dateutil.parser._parser.parserinfo’>
5 PERTAIN=[‘of’] kind:data type:list class:<class ‘dateutil.parser._parser.parserinfo’>
6 TZOFFSET={} kind:data type:dict class:<class ‘dateutil.parser._parser.parserinfo’>
7 UTCZONE=[‘UTC’, ‘GMT’, ‘Z’, ‘z’] kind:data type:list class:<class ‘dateutil.parser._parser.parserinfo’>
8 WEEKDAYS=[(‘Mon’, ‘Monday’), (‘Tue’, ‘Tuesday’), (‘Wed’, ‘Wednesday’), (‘Thu’, ‘Thursday’… kind:data type:list class:<class ‘dateutil.parser._parser.parserinfo’>
method
9 ampm(self, name)
kind=method class=parserinfo objtype=function line:342 at …\lib\site-packages\dateutil\parser_parser.py
10 convertyear(self, year, century_specified=False)
kind=method class=parserinfo objtype=function line:360 at …\lib\site-packages\dateutil\parser_parser.py
在self._year(当前当地时间) 的年份[-50,49]范围内将两位数年份转换为年份。
11 hms(self, name)
kind=method class=parserinfo objtype=function line:336 at …\lib\site-packages\dateutil\parser_parser.py
12 jump(self, name)
kind=method class=parserinfo objtype=function line:319 at …\lib\site-packages\dateutil\parser_parser.py
13 month(self, name)
kind=method class=parserinfo objtype=function line:329 at …\lib\site-packages\dateutil\parser_parser.py
14 pertain(self, name)
kind=method class=parserinfo objtype=function line:348 at …\lib\site-packages\dateutil\parser_parser.py
15 tzoffset(self, name)
kind=method class=parserinfo objtype=function line:354 at …\lib\site-packages\dateutil\parser_parser.py
16 utczone(self, name)
kind=method class=parserinfo objtype=function line:351 at …\lib\site-packages\dateutil\parser_parser.py
17 validate(self, res)
kind=method class=parserinfo objtype=function line:380 at …\lib\site-packages\dateutil\parser_parser.py
18 weekday(self, name)
kind=method class=parserinfo objtype=function line:322 at …\lib\site-packages\dateutil\parser_parser.py
🌿17 dateutil.parser._parser._ymd
_ymd, dateutil.parser._parser._ymd, module=dateutil.parser._parser, line:394 at site-packages\dateutil\parser_parser.py
property
1 has_day=<property object at 0x00000199718AC318> kind:property type:property class:<class ‘dateutil.parser._parser._ymd’>
2 has_month=<property object at 0x00000199718AC2C8> kind:property type:property class:<class ‘dateutil.parser._parser._ymd’>
3 has_year=<property object at 0x00000199718531D8> kind:property type:property class:<class ‘dateutil.parser._parser._ymd’>
method
4 append(self, val, label=None)
kind=method class=_ymd objtype=function line:428 at …\lib\site-packages\dateutil\parser_parser.py
5 could_be_day(self, value)
kind=method class=_ymd objtype=function line:414 at …\lib\site-packages\dateutil\parser_parser.py
6 resolve_ymd(self, yearfirst, dayfirst)
kind=method class=_ymd objtype=function line:474 at …\lib\site-packages\dateutil\parser_parser.py
🌿18 dateutil.parser._parser.parser
parser, dateutil.parser._parser.parser, module=dateutil.parser._parser, line:241 at site-packages\dateutil\parser_parser.py
method
1 parse(self, timestr, default=None,
kind=method class=parser objtype=function line:572 at …\lib\site-packages\dateutil\parser_parser.py
将日期/时间字符串解析为 :class:`datetime.datetime`对象。
参见:parse
🌿19 dateutil.parser._parser._tzparser
_tzparser, dateutil.parser._parser._tzparser, module=dateutil.parser._parser, line:1371 at site-packages\dateutil\parser_parser.py
method
1 parse(self, tzstr)
kind=method class=_tzparser objtype=function line:1390 at …\lib\site-packages\dateutil\parser_parser.py
🌿20 dateutil.parser._parser.ParserError
ParserError, dateutil.parser._parser.ParserError, module=dateutil.parser._parser, line:1589 at site-packages\dateutil\parser_parser.py
用于任何解析日期时间字符串失败的异常子类。
这是 :py:exc:`ValueError` 的子类,应该在 ``dateutil`` 的早期版本会引发 ``ValueError`` 时引发。
版本增加: 2.8.1
🌿21 dateutil.parser._parser.UnknownTimezoneWarning
UnknownTimezoneWarning, dateutil.parser._parser.UnknownTimezoneWarning, module=dateutil.parser._parser, line:1608 at site-packages\dateutil\parser_parser.py
当解析器找到一个无法解析为tzinfo的时区时将被引发。
版本增加: 2.7.0
🔵内嵌函数或方法
22 warn
🔵私有或局部
23 _timelex <class ‘dateutil.parser._parser._timelex’>
24 _resultbase <class ‘dateutil.parser._parser._resultbase’>
25 _ymd <class ‘dateutil.parser._parser._ymd’>
26 _tzparser <class ‘dateutil.parser._parser._tzparser’>
27 _parsetz <function _parsetz at 0x00000199718AF4C8>
🔵剩余
28 loader <_frozen_importlib_external.SourceFileLoader object at 0x00000199717F0788>
29 spec ModuleSpec(name=‘dateutil.parser._parser’, loader=<_frozen_importlib_external.SourceFileLoader object at 0x00000199717F0788>, origin=‘…\lib\site-packages\dateutil\parser\_parser.py’)
30 unicode_literals _Feature((2, 6, 0, ‘alpha’, 2), (3, 0, 0, ‘alpha’, 0), 131072)
31 DEFAULTPARSER <dateutil.parser._parser.parser object at 0x0000019971806BC8>
32 DEFAULTTZPARSER <dateutil.parser._parser._tzparser object at 0x00000199718B0A08>
☘️【dateutil._version】
_version, fullname=dateutil._version, file=dateutil_version.py
☘️【dateutil.easter】
easter, fullname=dateutil.easter, file=dateutil\easter.py
☘️【dateutil._common】
_common, fullname=dateutil._common, file=dateutil_common.py
☘️【dateutil.relativedelta】
relativedelta, fullname=dateutil.relativedelta, file=dateutil\relativedelta.py
☘️【dateutil.tz】
tz, fullname=dateutil.tz, file=dateutil\tz_init_.py
☘️【dateutil.parser】
parser, fullname=dateutil.parser, file=dateutil\parser_init_.py
☘️【dateutil.rrule】
rrule, fullname=dateutil.rrule, file=dateutil\rrule.py
☘️【dateutil.utils】
utils, fullname=dateutil.utils, file=dateutil\utils.py
☘️【dateutil.zoneinfo】
zoneinfo, fullname=dateutil.zoneinfo, file=dateutil\zoneinfo_init_.py
☘️【dateutil.tz.tz】
tz, fullname=dateutil.tz.tz, file=dateutil\tz\tz.py
☘️【struct】
struct, fullname=struct, file=struct.py
☘️【time】
time, fullname=time, file=
☘️【sys】
sys, fullname=sys, file=
☘️【os】
os, fullname=os, file=os.py
☘️【bisect】
bisect, fullname=bisect, file=bisect.py
☘️【weakref】
weakref, fullname=weakref, file=weakref.py
☘️【six】
six, fullname=six, file=six.py
用于编写在Python 2和3上运行的代码的实用程序
☘️【datetime】
datetime, fullname=datetime, file=datetime.py
☘️【calendar】
calendar, fullname=calendar, file=calendar.py
☘️【operator】
operator, fullname=operator, file=operator.py
☘️【heapq】
heapq, fullname=heapq, file=heapq.py
☘️【itertools】
itertools, fullname=itertools, file=
☘️【re】
re, fullname=re, file=re.py
☘️【_thread】
_thread, fullname=_thread, file=
☘️【warnings】
warnings, fullname=warnings, file=warnings.py
☘️【json】
json, fullname=json, file=json_init_.py
☘️【winreg】
winreg, fullname=winreg, file=
☘️【ctypes】
ctypes, fullname=ctypes, file=ctypes_init_.py
☘️【ctypes.wintypes】
wintypes, fullname=ctypes.wintypes, file=ctypes\wintypes.py
☘️【string】
string, fullname=string, file=string.py