Python's timedelta: can't I just get in whatever time unit I want the value of the entire difference?

后端 未结 4 409
眼角桃花
眼角桃花 2021-01-17 10:44

I am trying to have some clever dates since a post has been made on my site (\"seconds since, hours since, weeks since, etc..\") and I\'m using datetime.timedelta difference

相关标签:
4条回答
  • 2021-01-17 10:56

    It seems that Python 2.7 has introduced a total_seconds() method, which is what you were looking for, I believe!

    0 讨论(0)
  • 2021-01-17 11:00

    Like bobince said, you could use timestamps, like this:

    # assuming ts1 and ts2 are the two datetime objects
    from time import mktime
    mktime(ts1.timetuple()) - mktime(ts2.timetuple())
    

    Although I would think this is even uglier than just calculating the seconds from the timedelta object...

    0 讨论(0)
  • You can compute the difference in seconds.

    total_seconds = delta.days * 86400 + delta.seconds
    

    No, you're no "missing something". It doesn't provide deltas in seconds.

    0 讨论(0)
  • 2021-01-17 11:09

    It would be perfect if I could just get the entire difference in seconds.

    Then plain-old-unix-timestamp as provided by the 'time' module may be more to your taste.

    I personally have yet to be convinced by a lot of what's in 'datetime'.

    0 讨论(0)
提交回复
热议问题