Times是一个小巧、简约的Python库,用于处理通用时间和任意时区之间的转换。
项目描述
注意: 此库将不再维护。 您可能想使用优秀的 [Arrow](http://crsmithdev.com/arrow/) 库。
> “应该只有一个——最好是唯一的——明显的做法。”
实际上,times 0.7版本已被重写,以在Arrow之上实现,因此它仍然提供了Times接口,但您已经在使用Arrow。您可能很容易用Arrow对象替换times函数调用。
——
Times
构建状态: [](http://travis-ci.org/nvie/times) [](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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ed9da7bd0384ff4e1b3fc84114c27c2e3987072dbaf24425340bfedd405bc4b5 |
|
MD5 | 99acd36723f6d770b0f853d1cf8c96ac |
|
BLAKE2b-256 | 41beec94886bf2540dca5c120950b290f6b4aa42c35476d4a82aefb19de0ebe9 |
times-0.7-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 71a47e488fb727fecbd2bc6b4e3559fd4425eb6e20c68b1418069325a4c58a37 |
|
MD5 | 3cf873b5c622b74db3a6317629085481 |
|
BLAKE2b-256 | 5d2f811d8183abae998effbbb1a191af2469a6c18bfcb4d3edfd4fe9c096c5f8 |