【发布时间】:2013-12-14 05:44:23
【问题描述】:
例如:
我想将 UNIX 时间戳 1385629728 转换为 str "2013-11-28 17:08:48",
并将 str "2013-11-28 17:08:48" 转换为 UNIX 时间戳 1385629728。
【问题讨论】:
-
请避免在 SO 上直接问谷歌问题。它降低了平均问题的标准。
标签: python
例如:
我想将 UNIX 时间戳 1385629728 转换为 str "2013-11-28 17:08:48",
并将 str "2013-11-28 17:08:48" 转换为 UNIX 时间戳 1385629728。
【问题讨论】:
标签: python
按如下方式进行:
#-*-coding:utf-8-*-
import datetime, time
def ts2string(ts, fmt="%Y-%m-%d %H:%M:%S"):
dt = datetime.datetime.fromtimestamp(ts)
return dt.strftime(fmt)
def string2ts(string, fmt="%Y-%m-%d %H:%M:%S"):
dt = datetime.datetime.strptime(string, fmt)
t_tuple = dt.timetuple()
return int(time.mktime(t_tuple))
def test():
ts = 1385629728
string = ts2string(ts)
print string
ts = string2ts(string)
print ts
if __name__ == '__main__':
test()
【讨论】:
你应该使用日期时间。
>>> import datetime
>>> print(datetime.datetime.fromtimestamp(int("1385629728")).strftime('%Y-%m-%d %H:%M:%S'))
2013-11-28 14:38:48
>>> print int(datetime.datetime.strptime('2013-11-28 14:38:48', '%Y-%m-%d %H:%M:%S').strftime("%s"))
1385629728
【讨论】:
import time
# where epoch is your epoch time value
time.strftime("%a, %d %b %Y %H:%M:%S +0000",
time.localtime(epoch))
【讨论】: