跳转到主要内容

Times是一个小巧、简约的Python库,用于处理通用时间和任意时区之间的转换。

项目描述

注意: 此库将不再维护。 您可能想使用优秀的 [Arrow](http://crsmithdev.com/arrow/) 库。

> “应该只有一个——最好是唯一的——明显的做法。”

实际上,times 0.7版本已被重写,以在Arrow之上实现,因此它仍然提供了Times接口,但您已经在使用Arrow。您可能很容易用Arrow对象替换times函数调用。

——

Times

构建状态: [![构建状态](https://travis-ci.org/nvie/times.svg?branch=master)](http://travis-ci.org/nvie/times) [![覆盖率状态](https://img.shields.io/coveralls/nvie/times.svg)](https://coveralls.io/r/nvie/times?branch=master)

Times 是一个小巧、简约的 Python 库,用于处理时区和时区转换。

接受时间

永远不要与 _本地_ 时间打交道。每次必须接受本地时间输入(例如,来自用户)时,应立即将其转换为通用时间。

`pycon >>> times.to_universal(local_time, 'Europe/Amsterdam') datetime.datetime(2012, 2, 1, 10, 31, 45, 781262) `

第二个参数可以是 pytz.timezone 实例,或者时区字符串。

如果 local_time 变量已经包含时区信息,您必须在调用中省略源时区。

为了强制执行最佳实践,times 永远不会隐式为您转换时间,即使技术上可能可行。

日期字符串

如果您希望接受字符串形式的 datetime 表示(例如,来自 JSON API),您可以轻松地将它们转换为通用 datetime。

`pycon >>> import time, times >>> print times.to_universal('2012-02-03 11:59:03-0500') # 自动检测源时区`

Times 利用 [dateutil][1] 中可用的字符串解析例程。请注意,源时区是从字符串中自动检测的。如果字符串包含时区偏移量,您不允许显式指定一个。

如果字符串不包含任何时区偏移量,您必须显式指定源时区。

`pycon >>> print times.to_universal('2012-02-03 11:59:03', 'Europe/Amsterdam') `

这是 times.format() 的逆操作。

POSIX 时间戳

如果您更喜欢使用 UNIX (POSIX) 时间戳,您可以轻松地将它们转换为安全的 datetime 表示。

`pycon >>> import time, times >>> print times.to_universal(time.time()) 2012-02-03 11:59:03.588419 `

请注意,to_universal 自动检测您提供的是 UNIX 时间戳。

要获取通用 datetime 的 UNIX 时间戳表示,请使用

`pycon >>> print times.to_unix(universal_time) `

当前时间

当您想要记录当前时间时,可以使用此便捷方法

`pycon >>> import times >>> print times.now() datetime.datetime(2012, 2, 1, 11, 51, 27, 621491) `

呈现时间

为了将时间呈现给软件的最终用户,您应明确地将通用时间格式化为用户的本地时区。

`pycon >>> import times >>> now = times.now() >>> print times.format(now, 'CET') 2012-02-01 21:32:10+0100 `

to_universal 函数一样,第二个参数可以是时区实例或时区字符串。

注意:确实可以使用 to_local 将通用时间转换为本地时间。然而,除非您想要多次 strftime() 结果本地日期,否则您可能不应该这样做。在其他情况下,建议直接使用 times.format()

[1]: http://labix.org/python-dateutil#head-c0e81a473b647dfa787dc11e8c69557ec2c3ecd2

下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

times-0.7.tar.gz (4.2 kB 查看散列)

上传时间

构建分布

times-0.7-py2.py3-none-any.whl (3.8 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者