格式化和解析友好时间戳的方法

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%

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

推荐PyPI第三方库


热门话题
java Spring引导类NotFoundException EmbeddedServletContainerCustomizer   java osgi安全模型是如何工作的?   java在双链表中迭代?   (JAVA)使用命令提示符创建。来自多个服务器的jar文件。类文件   Java处理在使用线程时不显示内容   java不休眠SessionFactory。openSession()等待数据库连接从池中可用   MySQL Java Bukkit插件从数据库中选择   java如何使用CharSequence   java如何在Spring MVC REST中为JSON设置contentlength?   java在现有SOAP web服务上构建REST包装器   java Vertx NetServer控制读取流   Linux下的C++全局java语言   java我可以使用数组。用2d数组填充?如果是,我该怎么做?   java如何在google应用程序引擎的日志中显示UTF8字符?