Python日期和時間的處理類datetime
Python日期和時間的處理類datetime
datetime是python的內建庫。
獲取當前日期和時間
from datetime import datetime now = datetime.now() print('current datetime:', now)
輸出:
current datetime: 2019-04-24 20:24:51.866312
datetime是模組名稱,datetime是datetime裡面的一個類
datetime.now()
返回的是當前時間,datetime型別
指定日期和時間
from datetime import datetime # 年月日時分秒 dt = datetime(2019, 4, 24, 5, 6,7) print( dt)
輸出:
2019-04-24 05:06:07
timestamp時間戳
時間戳的意思是用一個數字表示時間,而0表示的是1970-1-1 00:00:00,每增長1秒就在0的基礎上加一 時間就是1970-1-1 00:00:00 + 1秒。
from datetime import datetime dt = datetime(2019, 4, 24, 5, 6,7) print( dt.timestamp()) # 獲取時間戳
輸出:1556053567.0, 表示的意思是:在0的基礎上增加類1556053567.0秒,時間就是1970-1-1 00:00:00開始過了 1556053567.0秒。
注意:其他語言都是整數,單位是毫秒,而python是浮點數,小數表示的是毫秒。
時間戳轉datetime
from datetime import datetime t = 1556053567.0 print(datetime.fromtimestamp(t))
輸出:2019-04-24 05:06:07
str轉換為datetime
from datetime import datetime day = datetime.strptime('2019-4-24 18:19:59', '%Y-%m-%d %H:%M:%S') print(day)
格式 | 含義 | 舉例 |
---|---|---|
%a | 星期縮寫 | Mon Sun |
%A | 星期全稱 | Monday Sunday |
%w | 星期數字表示 | 0-6 |
%d | 天 | 0-31 |
%b | 月份簡稱 | Jan Feb |
%B | 月份全稱 | January, Februar |
%m | 月份數字 | 1-12 |
%y | 年簡寫 | 99 89 |
%Y | 月份全寫 | 1999 1989 |
%H | 24小時 | 00 23 |
%I | 12小時制 | 1-12 |
%p | 上午下午 | pm am |
%M | 分鐘 | 00-59 |
%S | 秒 | 00-59 |
%% | 輸出% | % |
詳情請閱讀:strftime-strptime-behavior
datetime轉換為str
from datetime import datetime now = datetime.now() print(now.strftime('%Y-%m-%d %H:%M'))
datetime加減
日期的加減就是對應的數字的加減,python中提供一個timedelta能夠更方便的操作
from datetime import datetime,timedelta now = datetime.now() print(now) print(now + timedelta(hours=5))
輸出:
2019-04-24 20:50:21.114643 2019-04-25 01:50:21.114643 # 比上面多5小時
注意:只能+或-,不能其他數學運算。
可用的引數,沒有年月
days=10, seconds=50, microseconds=20, milliseconds=30, minutes=10, hours=20, weeks=1