python的datetime模塊功能詳解

[python] view plaincopy
  1. >>> dir(datetime)  
  2. ['MAXYEAR''MINYEAR''__doc__''__name__''__package__''date''datetime',  
  3.  'datetime_CAPI''time''timedelta''tzinfo']  
包含的數據:
MAXYEAR -- 能表示的最大年份
MINYEAR -- 能表示的最小年份
datetime_CAPI  -- C語言api訪問的對象,可以help(datetime.datetime_CAPI)
 
包含的對象:
    date -- 日期對象
    datetime -- 日期時間對象
    time -- 時間對象
    timedelta -- 日期時間間隔對象

    tzinfo -- 時區信息對象

[python] view plaincopy
  1. >>> dir(datetime.date)  
  2. ['__add__''__class__''__delattr__''__doc__''__eq__''__format__', '__ge  
  3. __', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '  
  4. __ne__', '__new__', '__radd__', '__reduce__', '__reduce_ex__', '__repr__', '__rs  
  5. ub__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', 'c  
  6. time', 'day', 'fromordinal', 'fromtimestamp', 'isocalendar', 'isoformat', 'isowe  
  7. ekday', 'max', 'min', 'month', 'replace', 'resolution', 'strftime', 'timetuple',  
  8.  'today''toordinal''weekday''year']  
包含的數據:
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

[python] view plaincopy
  1. >>> dir(datetime.time)  
  2. ['__class__''__delattr__''__doc__''__eq__''__format__''__ge__', '__get  
  3. attribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__ne__', '_  
  4. _new__', '__nonzero__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__'  
  5. '__sizeof__''__str__''__subclasshook__''dst''hour''isoformat''max'  
  6. 'microsecond''min''minute''replace''resolution''second''strftime',  
  7.  '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)

[python] view plaincopy
  1. >>> dir(datetime.datetime)  
  2. ['__add__''__class__''__delattr__''__doc__''__eq__''__format__', '__ge  
  3. __', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '  
  4. __ne__', '__new__', '__radd__', '__reduce__', '__reduce_ex__', '__repr__', '__rs  
  5. ub__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', 'a  
  6. stimezone', 'combine', 'ctime', 'date', 'day', 'dst', 'fromordinal', 'fromtimest  
  7. amp', 'hour', 'isocalendar', 'isoformat', 'isoweekday', 'max', 'microsecond', 'm  
  8. in', 'minute', 'month', 'now', 'replace', 'resolution', 'second', 'strftime', 's  
  9. trptime', 'time', 'timetuple', 'timetz', 'today', 'toordinal', 'tzinfo', 'tzname  
  10. ', 'utcfromtimestamp', 'utcnow', 'utcoffset', 'utctimetuple', 'weekday', 'year']  
繼承自date的數據:
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模塊的方法。

[python] view plaincopy
  1. >>> dir(timedelta)  
  2. ['__abs__''__add__''__class__''__delattr__''__div__''__doc__', '__eq__  
  3. ', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash  
  4. __', '__init__', '__le__', '__lt__', '__mul__', '__ne__', '__neg__', '__new__',  
  5. '__nonzero__''__pos__''__radd__''__rdiv__''__reduce__''__reduce_ex__',  
  6.  '__repr__''__rfloordiv__''__rmul__''__rsub__''__setattr__', '__sizeof__  
  7. ', '__str__', '__sub__', '__subclasshook__', 'days', 'max', 'microseconds', 'min  
  8. ', '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() -- 時間間隔的總秒數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章