python time.time()向前/向后移动小时/分钟/秒

时间:2013-05-15 13:24:40

标签: python

我想要实现的目标很简单:

time.time()不太可读。如何获得以下内容:

e.g。

time.time() //say, it's May 15 2013 13:15:46

如何获得以下给定的time.time():

2013年5月15日 12 :15:46

2013年5月15日 14 :15:46

2013年5月15日13: 14 :46

2013年5月15日13: 16 :46

我正在寻找类似的东西:

def back_an_hr(current_time):
    .....
def back_a_min(current_time):
    .....

back_an_hr(time.time()) # this brings time.time() back an hr
back_a_min(time.time()) # this brings time.time() back a min

3 个答案:

答案 0 :(得分:7)

使用datetime模块可能会更好:

>>> import datetime
>>> now = datetime.datetime.now()
>>> now
datetime.datetime(2013, 5, 15, 15, 30, 17, 908152)
>>> onehour = datetime.timedelta(hours=1)
>>> oneminute = datetime.timedelta(minutes=1)
>>> now + onehour
datetime.datetime(2013, 5, 15, 16, 30, 17, 908152)
>>> now + oneminute
datetime.datetime(2013, 5, 15, 15, 31, 17, 908152)
>>> now.strftime("%b %d %Y %H:%M:%S")
'May 15 2013 15:30:17'
>>> (now - onehour).strftime("%b %d %Y %H:%M:%S")
'May 15 2013 14:30:17'

答案 1 :(得分:0)

Python有一个名为datetime和timedelta的模块。使用这些模块,您可以定义自己的函数back_an_hr(current_time)和back_a_min(current_time)

timedelta采用偏移量,您可以将偏移量定义为日,月,年,小时或秒。

答案 2 :(得分:0)

time.time()给出浮点数秒。

time.time() - (60 * 60 * 24) # 1 day