Python中的datetime包與time包包和模塊詳情
一、datetime包
1.timedelta(params…)得到一個時間增量對象
# coding:utf-8 from datetime import timedelta if __name__ == '__main__': # 常用參數 hours:小時 days:天 seconds:秒 milliseconds:毫秒 delta = timedelta(hours=2) print(delta) # 2:00:00 print(type(delta)) # <class 'datetime.timedelta'>
2.timezone(timedelta) + timedelta(params…) 創建時區對象
# coding:utf-8 from datetime import timedelta, timezone if __name__ == '__main__': delta = timedelta(hours=2) zone = timezone(delta) #配合timedelta創建時區對象 print(zone) # UTC+02:00 print(type(zone)) # <class 'datetime.timezone'>
3.datetime模塊
datetime.now(timezone) 獲取當前時間datetime對象 # coding:utf-8 from datetime import timedelta, timezone, datetime if __name__ == '__main__': ''' 獲取當前時間,可以獲取指定時區的當前時間 datetime.now(timezone) ''' now = datetime.now() print(now) # 2022-02-23 13:59:59.224286 print(type(now)) # <class 'datetime.datetime'> # 設置指定時區的當前時間 print(datetime.now((timezone(timedelta(hours=9))))) # 2022-02-23 14:59:59.224286+09:00
datetime.strftime(fmt) datetime時間對象轉字符串
# coding:utf-8 from datetime import datetime if __name__ == '__main__': ''' datetime.strftime(fmt) 將時間對象轉換成字符串 fmt:格式化標準,由格式符組成 常用格式符(年:%Y,月:%m,日:%D,時:%H,分:%M,秒:%S) ''' now = datetime.now() print(now.strftime('%Y-%m-%d %H:%M:%S')) # 2022-02-23 14:04:24
datetime.strptime(date_string,fmt) 字符串轉成datetime時間對象
# coding:utf-8 from datetime import datetime if __name__ == '__main__': ''' datetime.strptime(date_string,fmt) 將字符串轉換成時間對象,要求date_string的格式完全匹配fmt格式化標準 ''' time_obj = datetime.strptime('2022-2-22', '%Y-%m-%d') # datetime.strptime('2022-2-22', '%Y-%m-%d %H') Error date_string 中不存在小時而fmt中要求有小時 print(datetime.strptime('2022-2-22 14', '%Y-%m-%d %H')) # 2022-02-22 14:00:00 print(time_obj) # 2022-02-22 00:00:00 print(type(time_obj)) # <class 'datetime.datetime'>
datetime.timestamp(datetime_obj) 將datetime時間對象轉換成秒級時間戳
# coding:utf-8 from datetime import datetime if __name__ == '__main__': ''' datetime.timestamp(datetime_obj) datetime_obj:datetime 時間對象 返回 float ''' print(datetime.timestamp(datetime.now())) # 1645598565.715
datetime.fromtimestamp(t) 將秒級時間戳轉換成datetime時間對象
# coding:utf-8 from datetime import datetime, timedelta, timezone if __name__ == '__main__': ''' datetime.fromtimestamp(t) t:秒級時間戳 float類型 返回:datetime時間對象 ''' datetime_obj = datetime.fromtimestamp(1645598565.715) print(datetime_obj) # 2022-02-23 14:42:45.715000 print(type(datetime_obj)) # <class 'datetime.datetime'>
4.使用datetime對象 + timedelta(params…) 進行時間運算
# coding:utf-8 from datetime import datetime, timedelta, timezone if __name__ == '__main__': now = datetime.now() fmt = '%Y-%m-%d %H:%M:%S' print(now.strftime(fmt)) # 2022-02-23 15:07:01 # 3小時後時間 print((now + timedelta(hours=3)).strftime(fmt)) # 2022-02-23 18:07:01 # 3小時前時間 print((now - timedelta(hours=3)).strftime(fmt)) # 2022-02-23 12:07:01 print((now + timedelta(hours=-3)).strftime(fmt)) # 2022-02-23 12:07:01 # 建議timedelta的參數都使用正數(容易理解)
二、time包
1.time.time() 得到當前秒級時間戳
# coding:utf-8 import time if __name__ == '__main__': print(time.time()) # 1645667203.7236724
2.time.localtime(second) 將秒轉換成time時間對象
# coding:utf-8 import time if __name__ == '__main__': # second 不填,則默認當前的時間戳 t = time.localtime(time.time()) t2 = time.localtime() print(t) # time.struct_time(tm_year=2022, tm_mon=2, tm_mday=24, tm_hour=10, tm_min=10, tm_sec=8, tm_wday=3, tm_yday=55, tm_isdst=0) print(t2) # time.struct_time(tm_year=2022, tm_mon=2, tm_mday=24, tm_hour=10, tm_min=10, tm_sec=8, tm_wday=3, tm_yday=55, tm_isdst=0) print(type(t)) # <class 'time.struct_time'> print(type(t2)) # <class 'time.struct_time'>
3.time.strftime(fmt,time_obj) 將time時間對象轉換成字符串
# coding:utf-8 import time if __name__ == '__main__': """ time.strftime(fmt,time_obj) fmt:格式化標準 參考 datetime.strftime(fmt) time_obj:time時間對象,不填默認是當前日期的time時間對象 """ t = time.localtime(time.time() + 3600) print(time.strftime('%Y-%m-%d %H:%M:%S')) # 2022-02-24 10:16:17 print(time.strftime('%Y-%m-%d %H:%M:%S', t)) # 2022-02-24 11:16:17
4.time.strptime(time_string,fmt) 將字符串轉換成time時間對象
# coding:utf-8 import time if __name__ == '__main__': """ time.strptime(time_string,fmt) 參考 datetime.strptime(date_string,fmt) time_string:時間字符串 fmt:格式化標準 """ fmt = '%Y-%m-%d %H:%M:%S' t = time.strftime(fmt, time.localtime()) print(t) # 2022-02-24 10:25:17 print(time.strptime(t, fmt)) # time.struct_time(tm_year=2022, tm_mon=2, tm_mday=24, tm_hour=10, tm_min=25, tm_sec=40, tm_wday=3, tm_yday=55, tm_isdst=-1)
5.time.sleep(second) 休眠 second 秒
# coding:utf-8 import time if __name__ == '__main__': print(time.time()) # 1645670183.6567423 time.sleep(2) print(time.time()) # 1645670185.6708047
到此這篇關於Python中的datetime包與datetime包和模塊詳情的文章就介紹到這瞭,更多相關Python時間相關包和模塊內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python標準庫之日期、時間和日歷模塊
- python語言time庫和datetime庫基本使用詳解
- Python 時間操作datetime詳情(下)
- Python 時間操作datetime詳情
- Python時間和日期庫的實現