分析iso 8601时间、日期、日期时间、间隔和持续时间的实用程序

iso8601utils的Python项目详细描述


https://img.shields.io/pypi/v/iso8601utils.svghttps://travis-ci.org/silverfernsys/iso8601utils.svg?branch=masterhttps://codecov.io/gh/silverfernsys/iso8601utils/branch/master/graph/badge.svghttps://img.shields.io/pypi/l/iso8601utils.svghttps://img.shields.io/pypi/status/iso8601utils.svghttps://img.shields.io/pypi/implementation/iso8601utils.svghttps://img.shields.io/pypi/pyversions/iso8601utils.svghttps://img.shields.io/pypi/format/iso8601utils.svghttps://img.shields.io/librariesio/github/silverfernsys/iso8601utils.svg

ISO8601至

用于表示、解析和验证ISO 8601datestimesdate-timesdurationsintervals的数据结构和实用程序。

数据结构

>>>fromiso8601utilsimportparsers,interval,duration# Intervals>>>i=parsers.interval('R8/2016-08-01T23:10:59.111Z/2016-08-08T00:13:23.001Z')>>>iiso8601utils.interval(R8/2016-08-01T23:10:59.111000Z/2016-08-08T00:13:23.001000Z)# Decompose interval into an (int, datetime, datetime, iso8601utils.duration)# tuple representing (repeats, start, end, duration)>>>tuple(i)(8,datetime.datetime(2016,8,1,23,10,59,111000,tzinfo=Z),datetime.datetime(2016,8,8,0,13,23,1000,tzinfo=Z),iso8601utils.duration(P6DT1H2M23.89S))# Public properties>>>i.repeats8>>>i.startdatetime.datetime(2016,8,1,23,10,59,111000,tzinfo=Z)>>>i.enddatetime.datetime(2016,8,8,0,13,23,1000,tzinfo=Z)>>>i.durationiso8601utils.duration(P6DT1H2M23.89S)# Durations>>>d=parsers.duration('P3Y6M4DT12H30M5S')>>>diso8601utils.duration(P3Y6M4DT12H30M5S)# Decompose duration into a (timedelta, monthdelta) tuple>>>tuple(d)(datetime.timedelta(4,45005),MonthDelta(42))# Public properties>>>d.timedeltadatetime.timedelta(4,45005)>>>d.monthdeltaMonthDelta(42)# Add and subtract durations with datetime objects>>>fromdatetimeimportdatetime>>>dt=datetime(2016,11,4,4,49,4)>>>dt+ddatetime.datetime(2020,5,8,17,19,9)>>>dt-ddatetime.datetime(2013,4,30,16,18,59)# Add and subtract durations>>>a=duration(years=1,months=5,days=3,hours=12)>>>b=duration(days=2,hours=5)>>>a+biso8601utils.duration(P1Y5M3DT17H)>>>a-biso8601utils.duration(P1Y5M1DT7H)# Compare durations>>>a<bFalse>>>a>bTrue

解析器

>>>fromiso8601utilsimportparsers# Parse intervals>>>parsers.interval('2016-08-01T23:10:59.111Z/2016-08-08T00:13:23.001Z')iso8601utils.interval(2016-08-01T23:10:59.111000Z/2016-08-08T00:13:23.001000Z)>>>parsers.interval('R5/2002-08-15T16:20:05.100+08:10/2002-10-12T17:05:25.020-01:40')iso8601utils.interval(R5/2002-08-15T16:20:05.100000+08:10/2002-10-12T17:05:25.020000-01:40)# Parse durations>>>parsers.duration('P3Y6M4DT12H30M5S')iso8601utils.duration(P3Y6M4DT12H30M5S)# Parse times>>>parsers.time('13:15+05:10')datetime.time(13,15,tzinfo=+05:10)# Parse dates>>>parsers.date('1981-04-05')datetime.date(1981,4,5)# Parse datetimes>>>parsers.datetime('2007-08-09T12:30-02:00')datetime.datetime(2007,8,9,12,30,tzinfo=-02:00)# Parse ordinal dates>>>parsers.date('1981-095')datetime.date(1981,4,5)# Parse week dates>>>parsers.date('2016-W43-1')datetime.date(2016,10,24)

验证器

# Validate strings>>>fromiso8601utilsimportvalidators>>>validators.interval('1999-12-31T16:00:00.000+04:00/P5DT7H')True>>>validators.interval('23P7DT5H')False>>>validators.duration('P3Y6M4W7DT12H30M5S')True>>>validators.duration('23P7DT5H')False>>>validators.time('13:15+05:10')True>>>validators.date('1981-04-05')True>>>validators.date('1981-095')True>>>validators.date('1981-W43-1')True>>>validators.date('1981W43-1')False

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Android Studio Java将输入存储在一个文本文件中,所有输入在一行中加载后显示在屏幕上   在我的Java应用程序中记录日志配置   java在将socket从Localhost构建到google时出错。通用域名格式   在java中通过SOAP发送附件   java Tomcat的JspWriter编码不正确   java应用程序在截击StringRequest时不断崩溃   java需要一个保持顺序并具有“顺序敏感”equals/hashCode的映射   Java框架地址栏元素   java如何从特定范围生成4个不重复的数字?   googleappenginejava。安全AccessControlException:拒绝访问(java.io.FilePermission)   加载游戏时java Fabric入口点异常崩溃   java Python我如何读入和读出,以便其他读者可以阅读它以便进一步购买?