Python的time類模組說明及使用

2021-10-10 02:53:07 字數 3908 閱讀 8343

output

方法和屬性

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相同。

output

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;

output

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物件;

output

方法和屬性

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

def utcoffset(self, dt):

return timedelta(hours=self._offset)

def tzname(self, dt):

return "utc +%s" % self._offset

def dst(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模組

1.時間戳 print int time.time 2.取當前格式化好的時間 time.strftime y m d h m s 3.時間戳轉為格式化好的時間 time1 time.gmtime int time.time 把時間戳轉成時間元組 res time.strftime y m d h m...

python 日期模組 (time模組)

在python中與事件處理相關的模組有 time datetime calendar 這裡先講解time模組 1.time 模組的引入用import time 1 time.time 返回當前時間的時間戳 1970紀元後經過的浮點秒數 返回結果資料型別是float import time temp ...

Python常用模組 Time模組

time模組中時間表現的格式主要有三種 a timestamp時間戳,時間戳表示的是從1970年1月1日00 00 00開始按秒計算的偏移量 b struct time時間元組,共有九個元素組。c format time 格式化時間,已格式化的結構使時間更具可讀性。包括自定義格式和固定格式。2 主要...