python時間與字符串之間的轉換

python獲取當前系統時間:

取得時間相關的信息的話,要用到python time模塊,python time模塊裏面有很多非常好用的功能,你可以去官方
文檔瞭解下,要取的當前時間的話,要取得當前時間的時間戳,時間戳好像是1970年到現在時間相隔的時間。

你可以試下下面的方式來取得當前時間的時間戳:
import time
print time.time()
輸出的結果是:
1279578704.6725271

但是這樣是一連串的數字不是我們想要的結果,我們可以利用time模塊的格式化時間的方法來處理:
time.localtime(time.time())
用time.localtime()方法,作用是格式化時間戳爲本地的時間。
輸出的結果是:
time.struct_time(tm_year=2010, tm_mon=7, tm_mday=19, tm_hour=22, tm_min=33, tm_sec=39, tm_wday=0, tm_yday=200, tm_isdst=0)

現在看起來更有希望格式成我們想要的時間了。
time.strftime('%Y-%m-%d',time.localtime(time.time()))

最後用time.strftime()方法,把剛纔的一大串信息格式化成我們想要的東西,現在的結果是:
2010-07-19

time.strftime裏面有很多參數,可以讓你能夠更隨意的輸出自己想要的東西:
下面是time.strftime的參數:
strftime(format[, tuple]) -> string
將指定的struct_time(默認爲當前時間),根據指定的格式化字符串輸出
python中時間日期格式化符號:
%y 兩位數的年份表示(00-99)
%Y 四位數的年份表示(000-9999)
%m 月份(01-12)
%d 月內中的一天(0-31)
%H 24小時制小時數(0-23)
%I 12小時制小時數(01-12) 
%M 分鐘數(00=59)
%S 秒(00-59)

%a 本地簡化星期名稱
%A 本地完整星期名稱
%b 本地簡化的月份名稱
%B 本地完整的月份名稱
%c 本地相應的日期表示和時間表示
%j 年內的一天(001-366)
%p 本地A.M.或P.M.的等價符
%U 一年中的星期數(00-53)星期天爲星期的開始
%w 星期(0-6),星期天爲星期的開始
%W 一年中的星期數(00-53)星期一爲星期的開始
%x 本地相應的日期表示
%X 本地相應的時間表示
%Z 當前時區的名稱
%% %號本身 

python獲取當前系統時間:

nowTime=time.localtime()

 獲取當前系統日期:

nowDate=datetime.datetime(nowTime[0],nowTime[1],nowTime[2])

 日期格式轉換:

baseTime="20121012" #轉換成2012-10-12

mouth = baseTime[4:6]
year = baseTime[0:4]
day = baseTime[6:8]
Destime = year +"-"+mouth+"-"+day

 獲取當前系統時間,並轉換成字符串類型:

curTime = time.strftime("%Y-%m-%d %X", time.localtime(time.time()))

 計算給定時間delta天后或delta天前的時間:

baseTime="20121012"               #字符串日期

delta=3                                       #計算3天后的日期,如果是delta=-3,計算3天前的日期
d1 = datetime.datetime(string.atoi(baseTime[0:4]),string.atoi(baseTime[4:6]),string.atoi(baseTime[6:8]))
d2 = d1 + datetime.timedelta(days = delta)
deltaDate=d2.strftime("%Y%m%d") 

 

字符串轉換成時間 string -> time 和 time  -> string  和 time ->  datetime:

date="2012-04-05"

print  type(date)                  #查看date的類型<type 'str'>

date=time.strptime(date,"%Y-%m-%d")                           #字符串string類型時間轉換成time類型時間

print  type(date)                 #查看date的類型<type 'time.struct_time'>

date=time.strftime("%Y-%m-%d",date)                             #time類型時間轉換成字符串string類型時間

print type(date) #查看date的類型<type 'str'>

 

date="2012-04-05"

date=time.strptime(date,"%Y-%m-%d")                            #字符串string類型時間轉換成time類型時間

print type(date) #查看date的類型<type 'time.struct_time'>

date=datetime.datetime(date[0],date[1],date[2])               #time類型時間轉換成datetime類型時間

print type(date) #查看date的類型<type 'datetime.datetime'>

 

計算兩個日期之間的時間查:

d1 = datetime.datetime(2005, 2, 16)
d2 = datetime.datetime(2004, 12, 31)

# 結果:47
print (d1 - d2).days

#上例演示了計算兩個日期相差天數的計算。

starttime = datetime.datetime.now()
....
endtime = datetime.datetime.now()
print (endtime - starttime).seconds

#上例演示了計算運行時間的例子以秒進行顯示。

d1 = datetime.datetime.now()
d3 = d1 + datetime.timedelta(days =10)

print str(d3)
print d3.ctime()


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章