将一个时间戳转换为yyyy/mm/dd hh:mm格式

19
我有一个时间戳(自纪元以来的时间),需要将其转换为以下格式:yyyy/mm/dd hh:mm。我查找了一些资料,似乎其他人都是反过来做的(从日期转换为时间戳)。如果您的答案涉及dateutil,那就太好了。请保留所有HTML标签。
1个回答

27

使用datetime代替dateutil

import datetime as dt
dt.datetime.utcfromtimestamp(seconds_since_epoch).strftime("%Y/%m/%d %H:%M")

一个例子:

import time
import datetime as dt

epoch_now = time.time()
sys.stdout.write(str(epoch_now))
>>> 1470841955.88

frmt_date = dt.datetime.utcfromtimestamp(epoch_now).strftime("%Y/%m/%d %H:%M")
sys.stdout.write(frmt_date)
>>> 2016/08/10 15:09

编辑:按照评论中的建议,使用strftime()函数。


1
这并没有将输出放在指定的格式中,OP 应该使用 strftime - Paul
成功了!是的,它还不完全符合我的需求,但我认为我可以从这里开始处理。 - user2465134
@DominikGeorge,通常对代码的非打字错误更改会被拒绝。在这种情况下,最好向发布者写评论或编写自己的答案。 - wnnmaw
@NickBull 另外一件事是,OP 应该知道这是特定于 UTC 的。如果他们不仅想要 UTC 时间,可以提醒他们将 pytz.UTC 附加到 dt,然后使用 dt = dt.astimezone(pytz.timezone('US/Eastern') 或任何他们想要转换为本地时间的时区。 - Paul
@DominikGeorge,请查看这篇关于何时应该编辑问题和答案中的代码的FAQ帖子 - wnnmaw
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接