1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python utc时间转换为strftime

python utc时间转换为strftime

时间:2024-05-29 18:51:20

相关推荐

python utc时间转换为strftime

拿来主义:

from datetime import datetime

from time import time

time_sec = time()

def time2str(time_with_sec):return datetime.fromtimestamp(time_with_sec).strftime('%Y-%m-%d %H:%M:%S')

print time2str(time_sec)

结果:-03-13 12:07:04

解释如下:

timestamp转换为datetime

要把timestamp转换为datetime,使用datetime提供的fromtimestamp()方法:

>>> from datetime import datetime>>> t = 1429417200.0 >>> print(datetime.fromtimestamp(t)) -04-19 12:20:00

注意到timestamp是一个浮点数,它没有时区的概念,而datetime是有时区的。上述转换是在timestamp和本地时间做转换。

本地时间是指当前操作系统设定的时区。例如北京时区是东8区,则本地时间:

-04-19 12:20:00

实际上就是UTC+8:00时区的时间:

-04-19 12:20:00 UTC+8:00

而此刻的格林威治标准时间与北京时间差了8小时,也就是UTC+0:00时区的时间应该是:

-04-19 04:20:00 UTC+0:00

timestamp也可以直接被转换到UTC标准时区的时间:

>>> from datetime import datetime>>> t = 1429417200.0 >>> print(datetime.fromtimestamp(t)) # 本地时间 -04-19 12:20:00 >>> print(datetime.utcfromtimestamp(t)) # UTC时间 -04-19 04:20:00

str转换为datetime

很多时候,用户输入的日期和时间是字符串,要处理日期和时间,首先必须把str转换为datetime。转换方法是通过datetime.strptime()实现,需要一个日期和时间的格式化字符串:

>>> from datetime import datetime>>> cday = datetime.strptime('-6-1 18:19:59', '%Y-%m-%d %H:%M:%S') >>> print(cday) -06-01 18:19:59

字符串'%Y-%m-%d %H:%M:%S'规定了日期和时间部分的格式。详细的说明请参考Python文档。

注意转换后的datetime是没有时区信息的。

datetime转换为str

如果已经有了datetime对象,要把它格式化为字符串显示给用户,就需要转换为str,转换方法是通过strftime()实现的,同样需要一个日期和时间的格式化字符串:

>>> from datetime import datetime>>> now = datetime.now()>>> print(now.strftime('%a, %b %d %H:%M')) Mon, May 05 16:28

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。