1、date類
datetime.date(year, month, day)
靜態方法和字段
date.
max、date.
min:date物件所能表示的最大、最小日期;
date.resolution:date物件表示日期的最小單位。這裡是天。
date.today(
):返回乙個表示當前本地日期的date物件;
date.fromtimestamp(timestamp):根據給定的時間戮,返回乙個date物件;
方法和屬性
d1 = date(
2011,06
,03)#date物件
d1.year、date.month、date.day:年、月、日;
d1.replace(year, month, day):生成乙個新的日期物件,用引數指定的年,月,日代替原有物件中的屬性。(原有物件仍保持不變)
d1.timetuple(
):返回日期對應的time.struct_time物件;
d1.weekday(
):返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此類推;
d1.isoweekday(
):返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此類推;
d1.isocalendar(
):返回格式如(year,month,day)的元組;
d1.isoformat(
):返回格式如'yyyy-mm-dd』的字串;
d1.strftime(fmt):和time模組format相同。
2、time類
datetime.time(hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] )
靜態方法和字段
time.
min、time.
max:time類所能表示的最小、最大時間。其中,time.
min= time(0,
0,0,
0), time.
max= time(23,
59,59,
999999
);time.resolution:時間的最小單位,這裡是1微秒;
方法和屬性
t1 = datetime.time(10,
23,15)
#time物件
t1.hour、t1.minute、t1.second、t1.microsecond:時、分、秒、微秒;
t1.tzinfo:時區資訊;
t1.replace(
[ hour[
, minute[
, second[
, microsecond[
, tzinfo]]]
]]):建立乙個新的時間物件,用引數指定的時、分、秒、微秒代替原有物件中的屬性(原有物件仍保持不變);
t1.isoformat(
):返回型如"hh:mm:ss"格式的字串表示;
t1.strftime(fmt):同time模組中的format;
3、datetime類
datetime相當於date和time結合起來。
datetime.datetime (year, month, day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] )
靜態方法和字段
datetime.today(
):返回乙個表示當前本地時間的datetime物件;
datetime.now(
[tz]
):返回乙個表示當前本地時間的datetime物件,如果提供了引數tz,則獲取tz引數所指時區的本地時間;
datetime.utcnow(
):返回乙個當前utc時間的datetime物件;#格林威治時間
datetime.fromtimestamp(timestamp[
, tz]
):根據時間戮建立乙個datetime物件,引數tz指定時區資訊;
datetime.utcfromtimestamp(timestamp):根據時間戮建立乙個datetime物件;
datetime.combine(date, time):根據date和time,建立乙個datetime物件;
datetime.strptime(date_string,
format
):將格式字串轉換為datetime物件;
方法和屬性
dt=datetime.now(
)#datetime物件
dt.year、month、day、hour、minute、second、microsecond、tzinfo:
dt.date(
):獲取date物件;
dt.time(
):獲取time物件;
dt. replace (
[ year[
, month[
, day[
, hour[
, minute[
, second[
, microsecond[
, tzinfo]]]
]]]]
]):dt. timetuple (
)dt. utctimetuple (
)dt. toordinal (
)dt. weekday (
)dt. isocalendar (
)dt. isoformat (
[ sep]
)dt. ctime (
):返回乙個日期時間的c格式字串,等效於time.ctime(time.mktime(dt.timetuple())
);dt. strftime (
format
)
4.timedelta類,時間加減
使用timedelta可以很方便的在日期上做天days,小時hour,分鐘,秒,毫秒,微妙的時間計算,如果要計算月份則需要另外的辦法。
#coding:utf-8
from datetime import
*dt = datetime.now(
)#日期減一天
dt1 = dt + timedelta(days=-1
)#昨天
dt2 = dt - timedelta(days=1)
#昨天dt3 = dt + timedelta(days=1)
#明天delta_obj = dt3-dt
print
type
(delta_obj)
,delta_obj#1 day, 0:00:00
print delta_obj.days ,delta_obj.total_seconds(
)#1 86400.0
5、tzinfo時區類
#! /usr/bin/python
# coding=utf-8
from datetime import datetime, tzinfo,timedelta
"""tzinfo是關於時區資訊的類
tzinfo是乙個抽象類,所以不能直接被例項化
"""class
utc(tzinfo)
:"""utc"""
def__init__
(self,offset =0)
: self._offset = offset
defutcoffset
(self, dt)
:return timedelta(hours=self._offset)
deftzname
(self, dt)
:return
"utc +%s"
% self._offset
defdst(self, dt)
:return timedelta(hours=self._offset)
#北京時間
beijing = datetime(
2011,11
,11,0
,0,0
,tzinfo = utc(8)
)print
"beijing time:"
,beijing
#曼谷時間
bangkok = datetime(
2011,11
,11,0
,0,0
,tzinfo = utc(7)
)print
"bangkok time"
,bangkok
#北京時間轉成曼谷時間
print
"beijing-time to bangkok-time:"
,beijing.astimezone(utc(7)
)#計算時間差時也會考慮時區的問題
timespan = beijing - bangkok
print
"時差:"
,timespan
#output***************===
# beijing time: 2011-11-11 00:00:00+08:00
# bangkok time 2011-11-11 00:00:00+07:00
# beijing-time to bangkok-time: 2011-11-10 23:00:00+07:00
# 時差: -1 day, 23:00:00
python時間模組 time和datetime
python 中時間表示方法有 時間戳,即從1975年1月1日00 00 00到現在的秒數 格式化後的時間字串 時間struct time 元組。struct time元組中元素主要包括tm year 年 tm mon 月 tm mday 日 tm hour 時 tm min 分 tm sec 秒 ...
python 常用模組
1.告訴直譯器 找模組 import sysunix要絕度路徑 只有第一次匯入執行。name main 2.當做包,必須包含乙個命名為 init py的檔案 模組 3.dir看模組裡有什麼 下劃線開始,不是給模組外部用的。過濾 import copy n for n in dir copy if n...
python常用模組
logging 日誌是我們排查問題的關鍵利器,寫好日誌記錄,當我們發生問題時,可以快速定位 範圍進行修改 logging將日誌列印到螢幕,日誌級別大小關係為 critical error warning info debug notset,當然也可以自己定義日誌級別 預設logging預設的日誌級別...