python 日期、時間處理,各種日期時間格式/字串之間的相互轉換究竟是怎樣的?
阿新 • • 發佈:2022-03-30
模組函式說明
'''
date 日期物件,常用的屬性有year,month,day
time 時間物件,常用的屬性有hour,minute,second,毫秒
datetime 日期時間物件,常用的屬性有hour,minute,second,microsecond
timedelta 時間間隔物件,即兩個時間點之間的長度
'''
date與time應用方式
import datetime
date_ = datetime.date(1970,1,1) # 引數為:年、月、日
print(date_)
# 1970-01-01
time_ = datetime.time(8, 30, 20, 899) # 引數為: 時、分、秒、毫秒
print(time_)
# 08:30:20.000899
datetime的日期時間處理
1、當前日期、時間獲取
from datetime import datetime
now_date_time = datetime.now()
print('當前日期時間:',now_date_time)
print('當前日期:',now_date_time.date())
print('當前時間:',now_date_time.time())
# 當前日期時間:2021-08-01 12:17:55.419457
# 當前日期:2021-08-01
# 當前時間:12:17:55.419457
2、時間格式相互轉換
from datetime import datetime
print(datetime.now().timestamp()) # 獲取時間戳
# 1627791637.223392
print(datetime.fromtimestamp(1627791637.223392)) # 將時間戳轉換為日期時間格式
# 2021-08-01 12:20:37.223392
3、格式化日期時間
'''
格式化字串引數說明:
%Y / %y 年
%m 月
%d 日
%H / %I 時
%M 分
%s 秒
'''
print(datetime.now().strftime("%Y%m%d"))
# 20210801
date_time = datetime.strptime('2021-8-1 08:23:56', '%Y-%m-%d %H:%M:%S') # 格式化日期時間
print(date_time) # 格式化以後的日期時間
print(type(date_time)) # 資料型別返回的是日期時間格式
日期、時間的加減計算
import datetime
date_time_now = datetime.datetime.now() # 獲取當前的日期時間
date_time = datetime.timedelta(hours=5,minutes=2,seconds=20) # 定義時間差值
print(date_time)
# 5:02:20
print(date_time_now - date_time) # 5小時2分鐘20秒以前
# 2021-08-01 07:34:28.254466
print(date_time_now) # 當前時間
# 2021-08-01 12:36:48.254466
print(date_time_now + date_time) # 5小時2分鐘20秒以後
# 2021-08-01 17:39:08.254466