python的datetime模組功能詳解
阿新 • • 發佈:2019-01-25
- >>> dir(datetime)
- ['MAXYEAR', 'MINYEAR', '__doc__', '__name__', '__package__', 'date', 'datetime',
- 'datetime_CAPI', 'time', 'timedelta', 'tzinfo']
MAXYEAR -- 能表示的最大年份
MINYEAR -- 能表示的最小年份
datetime_CAPI -- C語言api訪問的物件,可以help(datetime.datetime_CAPI)
包含的物件:
date -- 日期物件
datetime -- 日期時間物件
time -- 時間物件
timedelta -- 日期時間間隔物件
tzinfo -- 時區資訊物件
- >>> dir(datetime.date)
- ['__add__', '__class__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge
- __', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '
-
__ne__', '__new__', '__radd__', '__reduce__
- ub__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', 'c
- time', 'day', 'fromordinal', 'fromtimestamp', 'isocalendar', 'isoformat', 'isowe
- ekday', 'max', 'min', 'month', 'replace', 'resolution', 'strftime', 'timetuple',
-
'today', 'toordinal'
day -- 日號數值
month -- 月份數值
year -- 年份數值
max = datetime.date(9999, 12, 31)-- 最大的年、月、日的數值
min = datetime.date(1, 1, 1) -- 最小的年、月、日的數值
resolution = datetime.timedelta(1) -- 時間間隔單位為1天
包含的函式:
date(year, month, day) -- 建構函式,接受年、月、日三個引數,返回一個date object
ctime() -- 返回字串格式的時間表示格式。不接受引數
fromordinal() -- 接受一個整型的天數數值,返回一個天數所等價的年數、月數、日數的date物件。
fromtimestamp() -- 接收一個浮點型的時間戳,返回一個從1970年起+時間戳的值對應的年、月、日的date物件。
isocalendar() -- 返回一個ISO標準的日曆形式的3元元組,分別代表ISO year, week number, and weekday,不接收引數
isoformat() -- 返回一個ISO格式的日期字串。格式為YYYY-MM-DD,不接收引數
isoweekday() -- 返回一個ISO格式的周表示。Monday == 1 ... Sunday == 7,不接收引數
replace() -- 返回一個替換指定日期欄位的新date物件。引數3個可選引數,分別為year,month,day。注意替換是產生新物件,不影響原date物件。
strftime() -- 返回一個格式化的字串形式日期。接收一個format引數,如:'%Y-%d-%m'
timetuple() -- 返回一個time的時間格式物件。等價於time.localtime()
today() -- 返回當前date或datetime物件。等價於fromtimestamp(time.time())
toordinal() -- 返回公元公曆開始到現在的天數。公元1年1月1日為1
weekday() -- 返回日期表示的週期。Monday == 0 ... Sunday == 6
- >>> dir(datetime.time)
- ['__class__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__get
- attribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__ne__', '_
- _new__', '__nonzero__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__'
- , '__sizeof__', '__str__', '__subclasshook__', 'dst', 'hour', 'isoformat', 'max'
- , 'microsecond', 'min', 'minute', 'replace', 'resolution', 'second', 'strftime',
- 'tzinfo', 'tzname', 'utcoffset']
hour -- 小時表示數值
microsecond -- 微秒錶示數值
minute -- 分鐘表示數值
second -- 秒錶示數值
tzinfo -- 時區表示數值
max = datetime.time(23, 59, 59, 999999) -- 最大的時間表示數值
min = datetime.time(0, 0) -- 最小的時間表示數值
resolution = datetime.timedelta(0, 0, 1) -- 時間間隔單位為分鐘
包含的函式:
time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) -- 建構函式,返回一個time物件。所有引數均為可選
dst() -- 返回時區資訊的描述。如果例項是沒有tzinfo引數則返回空
isoformat() -- 返回ISO 8601格式字串, HH:MM:SS[.mmmmmm][+HH:MM].
replace() -- 返回一個替換指定時間欄位的新time物件。4個可選引數,分別為hour,minute,second,microsecond。注意替換是產生新物件,不影響原time物件。
strftime() -- 接收一個format引數,返回一個對應格式的字串。如:'%H:%M:%S'
tzname() -- 返回時區的名稱。如果例項是沒有tzinfo引數則返回空
utcoffset() -- 返回self.tzinfo.utcoffset(self)
- >>> dir(datetime.datetime)
- ['__add__', '__class__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge
- __', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '
- __ne__', '__new__', '__radd__', '__reduce__', '__reduce_ex__', '__repr__', '__rs
- ub__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', 'a
- stimezone', 'combine', 'ctime', 'date', 'day', 'dst', 'fromordinal', 'fromtimest
- amp', 'hour', 'isocalendar', 'isoformat', 'isoweekday', 'max', 'microsecond', 'm
- in', 'minute', 'month', 'now', 'replace', 'resolution', 'second', 'strftime', 's
- trptime', 'time', 'timetuple', 'timetz', 'today', 'toordinal', 'tzinfo', 'tzname
- ', 'utcfromtimestamp', 'utcnow', 'utcoffset', 'utctimetuple', 'weekday', 'year']
day
month
year
繼承自date的函式:
fromordinal(...)
isocalendar(...)
isoweekday(...)
strftime(...)
today(...)
toordinal(...)
weekday(...)
包含的資料:
hour
microsecond
minute
second
tzinfo
max = datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)
min = datetime.datetime(1, 1, 1, 0, 0)
resolution = datetime.timedelta(0, 0, 1)
包含的函式:
datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) -- 建構函式,返回一個datetime物件。year, month, day為必選引數
astimezone(...) -- 根據給定的timezone物件,返回轉換為本地時區的timezone物件。
combine(...) -- 根據給定date, time物件合併後,返回一個對應值的datetime物件。
ctime(...) -- 返回ctime格式的字串。
date(...) -- 返回具有相同year, month, day的date物件
dst(...) -- 返回self.tzinfo.dst(self).
fromtimestamp(...) -- 根據時間戳數值,返回一個datetime物件。
isoformat(...) -- 返回ISO 8601格式的字串,如:YYYY-MM-DDTHH:MM:SS[.mmmmmm][+HH:MM]
now(...) -- 根據給定的時區,返回當地的當前時間。
replace(...) -- 返回一個替換了指定日期時間欄位的新datetime物件
strptime(...) -- 根據string, format2個引數,返回一個對應的datetime物件。
time(...) -- 返回一個帶有相同time,但沒有tzinfo的time物件。
timetuple(...) -- 返回一個時間元素, 等價於time.localtime().
timetz(...) -- 返回一個帶有相同time和tzinfo的time物件。
tzname(...) -- 返回self.tzinfo.tzname(self).
utcfromtimestamp(...) -- 返回UTC時間戳的datetime物件,時間戳值為time.time()
utcnow(...) -- 返回UTC當前時間的datetime物件.
utcoffset(...) -- Return self.tzinfo.utcoffset(self).
utctimetuple(...) -- 返回UTC時間元組物件, 等價於time.localtime().
說明:
datetime.time物件呼叫了time模組的基礎方法。並封裝之。
datetime.date物件同樣呼叫了time模組的基礎方法,並封裝之。
datetime.datetime物件繼承了datetime.date類,並呼叫了time模組的方法。
- >>> dir(timedelta)
- ['__abs__', '__add__', '__class__', '__delattr__', '__div__', '__doc__', '__eq__
- ', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash
- __', '__init__', '__le__', '__lt__', '__mul__', '__ne__', '__neg__', '__new__',
- '__nonzero__', '__pos__', '__radd__', '__rdiv__', '__reduce__', '__reduce_ex__',
- '__repr__', '__rfloordiv__', '__rmul__', '__rsub__', '__setattr__', '__sizeof__
- ', '__str__', '__sub__', '__subclasshook__', 'days', 'max', 'microseconds', 'min
- ', 'resolution', 'seconds', 'total_seconds']
days -- 天數
microseconds -- 微秒數(>= 0 and less than 1 second).
seconds -- 秒數 (>= 0 and less than 1 day).
max = datetime.timedelta(999999999, 86399, 999999)
min = datetime.timedelta(-999999999)
resolution = datetime.timedelta(0, 0, 1)
包含的函式:
timedelta() -- 建構函式,接收3個引數,天、秒、微秒
total_seconds() -- 時間間隔的總秒數