天天看點

Python中date、datetime、timedelta 講解

Python時間相關的操作使用

datetime

子產品

導入子產品:

import datetime
           

1. 列印時間

1. 列印目前時間

import datetime

# 列印目前時間 now 和 today 都可以
now_time = datetime.datetime.now()
print(now_time, type(now_time))
# 2021-02-23 10:06:03.145792 <class 'datetime.datetime'>

today = datetime.datetime.today()
print(today, type(today))
# 2021-02-23 10:06:03.145792 <class 'datetime.datetime'>
           

2. 列印目前時間,按 年-月-日 時:分:秒 的格式

import datetime
now_datetime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(now_datetime, type(now_datetime))
# 2021-02-23 10:06:03 <class 'str'>
           

2. 列印目前日期

import datetime
now_date = datetime.date.today()
print(now_date, type(now_date))
# 2021-02-23 <class 'datetime.date'>
           

3. 列印目前日期的小時

import datetime
print(now_time.hour, type(now_time.hour))  # 其他機關也可以
# 10 <class 'int'>
           

4. 時間轉成字元串

datetime → str: strftime()

import datetime
now_time_str = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(now_time_str, type(now_time_str))
# 2021-02-23 10:06:03 <class 'str'>

now_time_str2 = datetime.datetime.now().strftime('%F %T')
print(now_time_str2, type(now_time_str2))
# 2021-02-23 10:06:03 <class 'str'>
           

5. 字元串轉成時間

str → datetime: strptime()

import datetime
now_time_datetime = datetime.datetime.strptime('2021-02-23 01:02:03', '%Y-%m-%d %H:%M:%S')
print(now_time_datetime, type(now_time_datetime))  # 2021-02-23 01:02:03 <class 'datetime.datetime'>
           

6. 比較兩個時間

import datetime
time1 = datetime.datetime.now()
time2 = datetime.datetime.strptime('2021-02-23 10:15:00', '%Y-%m-%d %H:%M:%S')
timedelta = time1 - time2
print(timedelta, type(timedelta))
# 2:12:22.091281 <class 'datetime.timedelta'>

# 時間差轉換成秒
timedelta_seconds = (time1 - time2).seconds
print('timedelta_seconds:', timedelta_seconds, type(timedelta_seconds))
# timedelta_seconds: 1513 <class 'int'>

# 時間差轉換成日
timedelta_minutes = (time1 - time2).days
print(timedelta_minutes, type(timedelta_minutes))
# 0 <class 'int'>
           

7. 已知一個時間,推算一段時間前的時間或一段時間後的時間

import datetime
middle_time = datetime.datetime.now()  # 定義需要計算的時間
delta = datetime.timedelta(seconds=600)  # 計算出時間差(600秒,也可以指定别的時間機關)

before_time = middle_time - delta  # 計算出10分鐘之前的時間
print(before_time, type(before_time))
# 2021-02-23 10:30:13.788736 <class 'datetime.datetime'>

after_time = middle_time + delta  # 計算出10分鐘之後的時間
print(after_time, type(after_time))
# 2021-02-23 10:50:13.788736 <class 'datetime.datetime'>