datetime模塊中包含五種基本類型:date、time、datetime、timedelta和tzinfo,tz是time zone的縮寫,tzinfo用于表示時區信息。
一,date類型
date類型表示日期,是由year、month和day構成的對象
1,初始化date對象
使用date(year,month,day)函數來初始化date對象:
from datetime import date mydate =date(year,month,day)
2,date對象函數
date對象可以返回日期的year,month和day:
- mydate.year
- mydate.month
- mydate.day
date類型的類型方法 date.today() 用于返回當前的日期
>>> from datetime import date >>> date.today() datetime.date( 2019, 6, 27)
?3,date對象的格式化
把date對象轉換為標準化的字符串?‘YYYY-MM-DD’
>>> mydate=date(2019,3,1 ) >>> mydate. __str__ () ' 2019-03-01 ' >>> mydate.isoformat() ' 2019-03-01 ' >>> str(mydate) ' 2019-03-01 '
自定義格式:
- %Y:4位數表示的年份,YYYY
- %m:2位數字表示的月份,MM
- %d:2位數字表示的天份,DD
>>> mydate.strftime( ' %Y-%m-%d ' ) ' 2019-03-01 ' >>> mydate. __format__ ( ' %Y-%m-%d ' ) ' 2019-03-01 '
二,time類型
時間類型表示時間,不帶日期屬性,是由時、分、秒、毫秒和時區構成的對象,毫秒的取值范圍是0~999999。
time(hour, minute, second[, microsecond[, tzinfo]])
時間對象的屬性:
- mytime.hour
- mytime.minute
- mytime.second
- mytime.microsecond
- mytime.tzinfo
時間對象的格式化:
- %H:2位數字表示的24小時制
- %I:2位數字表示的12小時制
- %M:兩位數字表示的分鐘
- %S:2位數字表示的秒
- %f:6位數字表示的毫秒
三,datetime類型
datetime類型既包括日期,也包括時間,是由日期和時間構成的類型:
datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])
datetime對象的屬性:year、month、day、hour、minute、second、microsecond和tzinfo。
datetime對象的函數:
- mydatetime.date()
- mydatetime.time(),不帶time zone,或者認為time zone是None
- mydatetime.timetz(),帶有time zone
當前的日期和時間
from datetime import datetime datetime.today() datetime.utcnow() datetime.now([tz])
四,timedelta類型
timedelta對象表示的是一個期間,是兩個日期或時間之間的差值。注意,參數中沒有年份。
datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])
通過timedelta()來計算日期的增加或減少:
>>> from datetime import timedelta >>> date(2019,3,1) + timedelta(days = 1 ) datetime.date( 2019, 3, 2 ) >>> date(2019,4,1) + timedelta(days = -1 ) datetime.date( 2019, 3, 31)
五,strftime() 和 strptime()
date、time和datetime對象都有函數strftime(format),用于把日期和時間轉換為具有特定格式的字符串,而類方法?datetime.strptime(date_string, format),用于把格式化的字符串轉換為日期和時間類型。
舉個例子,把字符串轉為date類型:
>>> import datetime >>> date_str = ' 2017-01-01 ' >>> datetime.datetime.strptime(date_str, ' %Y-%m-%d ' ).date() datetime.date( 2017, 1, 1)
?
?
參考文檔:
8.1. datetime — Basic date and time types
【Python】datetime庫詳解
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
