在Python中處理時(shí)間是非常繁瑣的一件事,每次在時(shí)間上都要浪費(fèi)很多的時(shí)間。在GitHub上看到了arrow佩伤,發(fā)現(xiàn)這個(gè)模塊處理時(shí)間,包括時(shí)間的運(yùn)算非常的簡單晦毙、方便生巡。
現(xiàn)在說一下幾個(gè)常用的時(shí)間處理:
首先安裝模塊
pip install arrow
1.可以很輕松的獲取UTC的標(biāo)準(zhǔn)時(shí)間,這樣在處理時(shí)間的時(shí)候就可以直接獲取UTC的標(biāo)準(zhǔn)時(shí)間见妒。
utc = arrow.utcnow()
utc_format = utc.format('YYYY-MM-DD HH:mm:ss')
print(utc_format)
2.通過Arrow獲取標(biāo)準(zhǔn)的Asia/Shanghai時(shí)間
utc = arrow.utcnow()
utc_Shanghai = utc.replace(hours=+8).format('YYYY-MM-DD HH:mm:ss')
print(utc_Shanghai)
3.時(shí)間推移障斋,我們可以通過這個(gè)模塊獲取未來的時(shí)間、或者過去的時(shí)間徐鹤。
1) 未來幾分鐘垃环,或者過去幾分鐘
utc = arrow.utcnow()
utc = utc.shift(minutes=-5) # -5 代表過去的時(shí)間 +5 代表未來的時(shí)間
utc_Shanghai = utc.replace(hours=+8).format('YYYY-MM-DD HH:mm:ss') # +8 可以轉(zhuǎn)換成Asia/Shanghai時(shí)間
print(utc_Shanghai)
2)未來幾個(gè)小時(shí),或者過去幾個(gè)小時(shí)
utc = arrow.utcnow()
utc = utc.shift(hours=-5) # -5 代表過去的時(shí)間 +5 代表未來的時(shí)間
utc_Shanghai = utc.replace(hours=+8).format('YYYY-MM-DD HH:mm:ss') # +8 可以轉(zhuǎn)換成Asia/Shanghai時(shí)間
print(utc_Shanghai)
3)未來一天返敬,或者過去一天遂庄。
utc = arrow.utcnow()
utc = utc.shift(days=-1) # -1 代表過去的時(shí)間 +1 代表未來的時(shí)間
utc_Shanghai = utc.replace(hours=+8) # +8 可以轉(zhuǎn)換成Asia/Shanghai時(shí)間
print(utc_Shanghai)
4) 未來幾周,或者過去幾周劲赠、
utc = arrow.utcnow()
utc = utc.shift(weeks=-1) # -1 代表過去的時(shí)間 +1 代表未來的時(shí)間
utc_Shanghai = utc.replace(hours=+8) # +8 可以轉(zhuǎn)換成Asia/Shanghai時(shí)間
print(utc_Shanghai)
5)未來幾個(gè)月涛目,或者過去幾個(gè)月
utc = arrow.utcnow()
utc = utc.shift(months=-5) # -1 代表過去的時(shí)間 +1 代表未來的時(shí)間
utc_Shanghai = utc.replace(hours=+8).format('YYYY-MM-DD HH:mm:ss') # +8 可以轉(zhuǎn)換成Asia/Shanghai時(shí)間
print(utc_Shanghai)
6) 未來幾年秸谢,或者過去幾年
utc = arrow.utcnow()
utc = utc.shift(years=-5) # -5 代表過去的時(shí)間 +5 代表未來的時(shí)間
utc_Shanghai = utc.replace(hours=+8).format('YYYY-MM-DD HH:mm:ss') # +8 可以轉(zhuǎn)換成Asia/Shanghai時(shí)間
print(utc_Shanghai)
- 時(shí)間運(yùn)算:
減去時(shí)間、或者加時(shí)間(其他的時(shí)間運(yùn)算大致相同霹肝,就不一一舉例了估蹄。)
now = arrow.utcnow().replace(hours=+8)
print(now)
utc = arrow.utcnow()
formerly_weeks = utc.shift(weeks=-1) # -1 代表過去的時(shí)間 +1 代表未來的時(shí)間
formerly_weeks = formerly_weeks.replace(hours=+8) # +8 可以轉(zhuǎn)換成Asia/Shanghai時(shí)間
print(formerly_weeks)
now = now - formerly_weeks # 現(xiàn)在的時(shí)間減去過去的一周的時(shí)間
print("相差的時(shí)間%s" %now)
希望可以幫助到您