在使用一個程式設計語言的時候,有些功能必不可少。
其中就有日期的計算。
import datetime#日期初始化:d1 = datetime.datetime(2005, 2, 16)d2 = datetime.datetime(2004, 12, 31)#日期相減:print (d1 - d2).daysstarttime = datetime.datetime.now()endtime = datetime.datetime.now()print (endtime - starttime).secondsstarttime = datetime.datetime.now() starttime.year starttime.day starttime.second #上例示範了計算已耗用時間的例子,以秒進行顯示。#使用timedelta進行加減:d1 = datetime.datetime.now()#d3 = d1 + datetime.timedelta(days =10)d3 = d1 + datetime.timedelta(days =-1)print str(d3)print d3.ctime()print d3.strftime('%Y-%m-%d');#上例示範了計算目前時間向後10天的時間。#如果是小時 days 換成 hours#其本上常用的類有:datetime和timedelta兩個。它們之間可以相互加減。#time , datetime , string 類型互相轉換#1. string -> timetime.strptime(publishDate,"%Y-%m-%d %H:%M:%S")#2. string -> datetimedatetime.datetime.strptime(publishDate,"%Y-%m-%d %H:%M:%S") #3. time -> stringtime.strftime("%y-%m-%d",time.localtime())date = '2007-01-01't = time.strptime(date,"%Y-%m-%d") #struct_time類型d = datetime.datetime(date[0], date[1],date[2]) #datetime類型#將日期時間對象轉成字串date = time.strftime("%y-%m-%d",d)d.strftime('%Y%m%d')#日期格式化:'''%a星期的簡寫。如 星期三為Web%A星期的全寫。如 星期三為Wednesday%b月份的簡寫。如4月份為Apr%B月份的全寫。如4月份為April%c: 日期時間的字串表示。(如: 04/07/10 10:43:39)%d: 日在這個月中的天數(是這個月的第幾天)%f: 微秒(範圍[0,999999])%H: 小時(24小時制,[0, 23])%I: 小時(12小時制,[0, 11])%j: 日在年中的天數 [001,366](是當年的第幾天)%m: 月份([01,12])%M: 分鐘([00,59])%p: AM或者PM%S: 秒(範圍為[00,61],為什麼不是[00, 59],參考python手冊~_~)%U: 周在當年的周數當年的第幾周),星期天作為周的第一天%w: 今天在這周的天數,範圍為[0, 6],6表示星期天%W: 周在當年的周數(是當年的第幾周),星期一作為周的第一天%x: 日期文字(如:04/07/10)%X: 時間字串(如:10:43:39)%y: 2個數字表示的年份%Y: 4個數字表示的年份%z: 與utc時間的間隔 (如果是本地時間,返回Null 字元串)%Z: 時區名稱(如果是本地時間,返回Null 字元串)%%: %% => %'''dt = datetime.datetime.now()print '(%Y-%m-%d %H:%M:%S %f): ', dt.strftime('%Y-%m-%d %H:%M:%S %f')print '(%Y-%m-%d %H:%M:%S %p): ', dt.strftime('%y-%m-%d %I:%M:%S %p')print '%%a: %s ' % dt.strftime('%a')print '%%A: %s ' % dt.strftime('%A')print '%%b: %s ' % dt.strftime('%b')print '%%B: %s ' % dt.strftime('%B')print '日期時間%%c: %s ' % dt.strftime('%c')print '日期%%x:%s ' % dt.strftime('%x')print '時間%%X:%s ' % dt.strftime('%X')print '今天是這周的第%s天 ' % dt.strftime('%w')print '今天是今年的第%s天 ' % dt.strftime('%j')print '今周是今年的第%s周 ' % dt.strftime('%U')