Python 時間操作 格式化“2020-10-16T17:36:00+08:00“時間


時間戳操作很多,每次用點時候總是去查,查的麻煩,現在自己也好好歸納一下。

  • 我現在剛好有個需求需要獲取當天零點時間戳,但是網上查的大部分都是用時間戳相減,或者用時區的方式,總感覺不是很好,我就自己寫了一個。

獲取凌晨時間

# 方法一 獲取凌晨時間戳
import time
import datetime

# 思路特別簡單 
dt = time.strftime("%Y-%m-%d")
print(dt)  # 先得到前綴 2019-12-13 這種,然后在拼接成2019-12-13 00:00:00
time_array = time.strptime(f"{dt} 00:00:00", "%Y-%m-%d %H:%M:%S")
# 然后轉化為時間戳,思路特別簡單
timestamp = time.mktime(time_array)
print(int(timestamp) * 1000)


# 方法二 剛搜出來的,感覺不錯
day_time = time.mktime(datetime.date.today().timetuple())
print(int(day_time) * 1000)

格式化時間比大小

import datetime

d1 = datetime.datetime.strptime('2020-01-05 18:22:22', '%Y-%m-%d %H:%M:%S')
d2 = datetime.datetime.strptime('2020-01-01 12:24:15', '%Y-%m-%d %H:%M:%S')
# 判斷大小
print(d2 > d1)  # False
print(d2 < d1)  # True
# 計算間隔天數
delta = d1 - d2
print(delta.days)  # 輸出 4 

月,日只取整數

import time

dt = time.strftime("%Y-%m-%d")
print(dt) # 輸出 2020-05-05

# 但是我只想要 2020-5-5這樣的格式, %后母加- 如 %-m  %-d
dt = time.strftime("%Y-%-m-%-d")
print(dt) # 輸出 2020-5-5

獲取昨天,明天等時間

當前參考時間為 2020/4/27
from datetime import timedelta, date
# 獲取昨日時間對象
yesterday_obj = date.today() + timedelta(days=-1)
print(yesterday_obj)  # 輸出昨日凌晨對象 class: datetime.date(2020, 4, 26)

# 獲取昨天時間格式
yesterday_str = (date.today() + timedelta(days=-1)).strftime("%Y-%m-%d %H:%M:%S")
print(yesterday_str)  # 輸出昨日凌晨時間 str:'2020-04-26 00:00:00'

# 獲取前天 直接days=-2


# 獲取明日時間對象
tomorrow_obj = date.today() + timedelta(days=+1)
print(tomorrow_obj)   # 輸出明日時間對象 class: datetime.date(2020, 4, 28)

# 獲取民日時間格式化字符串
tomorrow_str = (date.today() + timedelta(days=+1)).strftime("%Y-%m-%d %H:%M:%S")
print(tomorrow_str)   # 輸出明日凌晨時間 str:'2020-04-28 00:00:00'

時間戳格式化時間


import time

time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(1605781931))
# 輸出 '2020-11-19 18:32:11'

格式化特殊時間字符串 "2020-10-16T17:36:00+08:00"

import datetime
t = "2020-10-16T17:36:00+08:00"

new_t = datetime.datetime.strptime(t,"%Y-%m-%dT%H:%M:%S+08:00").strftime("%Y-%m-%d %H:%M:%S")
# '2020-10-16 17:36:00'


t2 = "2020-10-16T17:36:00Z"
new_t2 = datetime.datetime.strptime(t2,"%Y-%m-%dT%H:%M:%SZ").strftime("%Y-%m-%d %H:%M:%S")
# '2020-10-16 17:36:00'


時間戳還原成datetime對象

from datetime import datetime

ts = 1608902287.504388

d = datetime.fromtimestamp(t)
# datetime.datetime(2020, 12, 25, 21, 18, 7, 504388)

發現其他博客也介紹的很詳細,留下鏈接以便日后查看


免責聲明!

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



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