格式化和解析友好时间戳的方法
whenIO的Python项目详细描述
下面是一些格式化和解析友好时间戳的方法。
安装
easy_install -U whenIO
用法
>>> import whenIO >>> import datetime >>> w = whenIO.WhenIO(timezone='US/Eastern') >>> w.format(datetime.datetime.now(), fromUTC=False) 'Today 2:30pm' >>> w.format(datetime.datetime.utcnow()) 'Today 2:30pm' >>> w.format(datetime.datetime.utcnow(), forceDate=True) 'Today 3/10/2013 2:30pm' >>> date1 = datetime.datetime(2000, 1, 1, 0, 0) >>> date2 = datetime.datetime(2000, 1, 1, 1, 0) >>> w.format([date1, date2], fromUTC=False) '1/1/2000 12am 1am' >>> w.parse('10am', toUTC=False)[0] [datetime.datetime(2013, 3, 10, 10, 0)] >>> w.parse('today 10am', toUTC=False)[0] [datetime.datetime(2013, 3, 10, 10, 0)] >>> w.parse('tom 8pm', toUTC=False)[0] [datetime.datetime(2013, 3, 11, 20, 0)] >>> w.parse('mon 10am 12pm', toUTC=False)[0] [datetime.datetime(2013, 3, 11, 10, 0), datetime.datetime(2013, 3, 11, 12, 0)] >>> rdelta = whenIO.parse_duration('111 weeks') >>> whenIO.format_duration(rdelta) '2 years 3 months 3 weeks' >>> whenIO.format_duration(rdelta, precision=2, style='abbreviations') '2 yrs 4 mos'
1.5
- 添加了单位缩写和字母来解析'u duration(),格式'u duration()
- 添加了对舍入行为的控制以格式化“持续时间”
- 由于Javier Ruere
1.4
- 将forceDate添加到format(),format_date()
- 替换为开始日期以忽略开始日期
1.3
- 已将构造函数更改为使用Pytz和TzLocal中的时区
- 已添加周以格式化持续时间()
- 添加了leadingzero to format()、format_date()、format_time()
- 添加了startDate to format()
- 删除parse_offset(),format_offset()
1.2
- 删除了python dateutil==1.5要求
- 将测试覆盖率恢复到100%
1.1
- 为格式化relativeDelta对象添加了format_duration()格式
- 添加parse_duration()用于将文本解析为relativeDelta对象
1.0
- 将测试覆盖范围扩大到100%