1. 程式人生 > 其它 >python 日期、時間處理,各種日期時間格式/字串之間的相互轉換究竟是怎樣的?

python 日期、時間處理,各種日期時間格式/字串之間的相互轉換究竟是怎樣的?

模組函式說明
'''
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