python時間時分秒與秒數的互相轉換


受到Unix時間戳的啟發,我發現時間轉成秒數后會非常好處理,在程序當中不再是以字符串的形式處理,不管時間的加減還是獲取隨機的時間點都變得非常方便,
如果有需要,也很容易轉換成需要的時間格式。

一:時間轉成秒數

st = "08:30:30"
et = "9:33:33"

#方法一
def t2s(t):
    h,m,s = t.strip().split(":")
    return int(h) * 3600 + int(m) * 60 + int(s)

print(t2s(st))

#方法二
import datetime
var = ("hours","minutes","seconds")
time2sec = lambda x:int(datetime.timedelta(**{k:int(v) for k,v in zip(var,x.strip().split(":"))}).total_seconds())

print(time2sec(st))

stackoverflow.com上還有更多的寫法,有興趣可以自己去看。當然方法一最簡單明了,直接用這樣的方法是最好的。

http://stackoverflow.com/questions/10663720/converting-a-time-string-to-seconds-in-python
http://stackoverflow.com/questions/6402812/how-to-convert-an-hmmss-time-string-to-seconds-in-python

二:秒數轉成時分秒:

下面的方法是從stackoverflow上抄過來的。
http://stackoverflow.com/questions/775049/python-time-seconds-to-hms

m, s = divmod(seconds, 60)
h, m = divmod(m, 60)
print ("%02d:%02d:%02d" % (h, m, s))

下篇再寫轉成時間轉成秒數后能用來干嘛。
2016-12-10 0:21:56 codegay


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM