如果我没有正确理解,很高兴进行更新,但是这里有一些示例可能会有所帮助。请注意,这使用的是
datetime模块而不是
time。
>>> import datetime
在这里,我们设置示例时间戳
ts和格式
f:
>>> ts = '2013-01-12 15:27:43'>>> f = '%Y-%m-%d %H:%M:%S'
与您上面的 *** 作类似,我们使用
strptime函数(from
datetime.datetime)
datetime根据格式参数将字符串转换为对象:
>>> datetime.datetime.strptime(ts, f)datetime.datetime(2013, 1, 12, 15, 27, 43)
现在反过来-在这里我们使用
datetime.datetime.now()获取当前时间作为
datetime对象:
>>> now = datetime.datetime.now()>>> nowdatetime.datetime(2013, 1, 12, 0, 46, 54, 490219)
在这种
datetime情况下,该
strftime方法实际上是在
datetime对象本身上调用的,格式参数为参数:
>>> now.strftime(f) '2013-01-12 00:46:54'
在您的情况下,出现错误的原因是因为
time.time()返回浮点数:
>>> time.time()1357980846.290231
但是
time.strftime需要一个
time元组,类似于上面的内容。无需陷入时间的疯狂漩涡,诸如之类的函数
time.localtime()将返回上述
time元组,并按预期返回:
>>> now = time.localtime()>>> nowtime.struct_time(tm_year=2013, tm_mon=1, tm_mday=12, tm_hour=0, tm_min=55, tm_sec=55, tm_wday=5, tm_yday=12, tm_isdst=0)>>> f = '%Y-%m-%d %H:%M:%S'>>> time.strftime(f, now)'2013-01-12 00:55:55'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)