【问题标题】:python time.time() move forward/backward hours/mins/secs [duplicate]python time.time()向前/向后移动小时/分钟/秒[重复]
【发布时间】:2013-05-15 13:24:39
【问题描述】:

我想要实现的很简单:

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

例如

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

【问题讨论】:

    标签: python


    【解决方案1】:

    使用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'
    

    【讨论】:

    • 如果OP需要Unix时间,他可以从datetimetime.mktime(dt.timetuple())一样得到它
    【解决方案2】:

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

    timedelta 有一个偏移量,您可以将偏移量定义为日、月、年、小时分钟或秒。

    【讨论】:

      【解决方案3】:

      time.time() 以浮点数形式给出秒数。

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

      【讨论】:

        猜你喜欢
        • 2015-03-23
        • 1970-01-01
        • 1970-01-01
        • 2012-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-21
        • 2020-10-05
        相关资源
        最近更新 更多