class datetime.datetime
日期和時間的結合。屬性:year, month, day, hour, minute, second, microsecond
class datetime.timedelta
表示兩個 date 對象或 time 對象,或者兩個 datetime 對象之間的時間間隔,精確到微秒
now():返回當前的本地 datetime
utcnow():返回當前 UTC 日期時間
fromtimestamp(timestamp, tz=None):將時間戳轉為 datetime 類型的時間。tz為時區參數
fromisoformat(date_string):將日期字符串轉為 datetime 類型的時間
strptime(date_string, format):將時間字符串按照 format 格式解析生成 datetime 類型的時間
1.2 實例方法date():返回具有同樣 year, month 和 day 值的 date 對象
time():返回具有同樣 hour, minute, second, microsecond 和 fold 值的 time 對象
timetuple():返回一個 time.struct_time
toordinal():返回日期的預期格列高利歷序號
timestamp():返回時間戳
weekday():返回一個整數代表星期幾,星期一為 0,星期天為 6
isoweekday():返回一個整數代表星期幾,星期一為 1,星期天為 7
ctime():返回一個代表日期和時間的字符串
strftime(format):返回一個由顯式格式字符串所指明的代表日期和時間的字符串
1.3 使用樣例>>> from datetime import datetime
>>> datetime.strptime('20191010', '%Y%m%d') # 將時間字符串轉成datetime類型
datetime.datetime(2019, 10, 10, 0, 0)
>>> datetime.now() # 當前時間
datetime.datetime(2019, 11, 1, 15, 42, 20, 119275)
>>> dt = datetime(2019,1,1,0,0,0) # 實例化datetime對象
>>> dt
datetime.datetime(2019, 1, 1, 0, 0)
>>> dt.date()
datetime.date(2019, 1, 1)
>>> dt.time()
datetime.time(0, 0)
>>> dt.replace(2010) # 修改時間
datetime.datetime(2010, 1, 1, 0, 0)
>>> dt.timetuple() # 返回time.struct_time類
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=1, tm_isdst=-1)
>>> dt.timestamp() # 時間戳
1546272000.0
>>> dt.weekday() # 返回一個整數代表星期幾,星期一為 0,星期天為 6
1
>>> dt.strftime('%Y-%m-%d %X') # 返回日期時間字符串
'2019-01-01 00:00:00'
>>>
weeks:周數
days:天數(默認)
hours:小時數
minutes:分鐘數
seconds:秒數
microseconds:微妙數
2.2 使用樣例>>> from datetime import datetime, timedelta
>>> timedelta(days=3) # 3天的時間段
datetime.timedelta(days=3)
>>> timedelta(days=3, hours=2.5) # 3天加上2.5小時的時間段
datetime.timedelta(days=3, seconds=9000)
>>> now = datetime.now() # 當前時間
>>> now
datetime.datetime(2019, 11, 9, 15, 24, 13, 679425)
>>> delta = timedelta(days=3, hours=2, minutes=15) # 3天加上2小時15分鐘的時間段
>>> now - delta # 3天又2小時15分鐘之前的日期時間
datetime.datetime(2019, 11, 6, 13, 9, 13, 679425)
>>> from datetime import datetime, timedelta
>>> dt = datetime(2019,5,1,0,0,0)
>>> delta = timedelta(days=1376, hours=7)
>>> dt - delta
datetime.datetime(2015, 7, 24, 17, 0) # 答案是2015年7月24日17時
>>> from datetime import datetime, timedelta
>>> now = datetime.now() # 當前時刻
>>> new_year = datetime(now.year+1, 1, 1, 0, 0, 0) # 下一個元旦的零時
>>> delta = new_year - now # 計算時間間隔
>>> delta.total_seconds() # 獲取時間間隔的總秒數
4523121.717534