簡單記錄python的時間函式操作

2021-08-25 10:06:44 字數 2486 閱讀 3356

1. time和datetime模組

import datetime,time

2. 獲得當前時間

time.time() #獲得當前時間,返回float型

time.localtime([float time]) #獲得本地當前時間,返回time.struct_time型別

說明:struct_time是乙個唯讀的9元組,其中引數命名分別如下: 

index

attribute

values

0 tm_year

(for example, 1993)

1tm_mon

range [1, 12]

2 tm_mday

range [1, 31]

3 tm_hour

range [0, 23]

4 tm_min

range [0, 59]

5 tm_sec

range [0, 61]

6 tm_wday

range [0, 6], monday is 0

7 tm_yday

range [1, 366]

8 tm_isdst

0, 1 or -1; see below

技巧一:

那麼,如果要進行如時間修改等操作,而struc_time是唯讀的,如何改變某個時間點的值呢?

由於元組是不可改變的,而此時需要對localtime()的元組進行處理,元組是列表的另一形式,可以相互轉化,列表可以隨時修改,因而可以進行如下轉化:

tttuple = time.localtime()

ttlist = list(tttuple) #轉化為列表

ttlist[4] = 30 #如果您要對第四項tm_min進行修改,此時就可以了

..... #列表中值進行修改

tttuple = tuple(ttlist) #重新轉化為元組

strlocaltime = time.strftime("%y-%m-%d %x",tttuple) #轉化為2010-07-21 20:30:00

技巧二:

如何快速處理列表中的每一項資料,例如將列表中所有的整型轉化為str型別,並進行字串處理?

具體地,例如給定乙個浮點時間timer,輸出為乙個格式為yyyy-mm-dd_hh-mm格式的字串。

tttuple = time.localtime(timer)

ttlist = list(tttuple)

strlist = map(str,ttlist) #將列表中的每項轉化為str型別, 但由於是由int轉化str

#單數的時間,1-9無法轉化為『01』,『02』形式,需要處理

for i in range(5):

if(len(strlist[i])%2 != 0):

strlist[i] = '0' + strlist[i] #單數,則補上0

strtime = strlist[0]+'-'+strlist[1]+'-'+strlist[2]+'_'+strlist[3]+'-'+strlist[4] #獲得目標格式

當然,或者可以利用strlocaltime = time.strftime(format,tttuple)來解決,沒有校驗過,可以試試。當時腦袋短路了,只想到這個方法,主要是為了新學的map()函式能夠用上,高手請任意拍磚,咱新手一枚。

3.時間相互轉化

time.strftime(format,struc_time) #將元組轉化為使用者自定義的format格式,返回時間字串

time.strptime(str,format) #將format格式的時間字串str轉化為元組,返回struc_time型別

time.mktime(struc_time) #將元組轉化為float型別的時間,返回float型別

>>> import time

>>> print time.strftime( "%y-%m-%d %x", time.localtime(123456789)

... )

1973-11-30 05:33:09

>>> from datetime import datetime

>>> print datetime.fromtimestamp(123456)

1970-01-02 18:17:36

技巧三:

由上述可見,利用floattime = time.mktime(time.strptime(str,format))可以將時間字串轉化為浮點型時間格式,便於進行時間計算.

技巧四:

常用的直接獲得當前時間方法:

now = str(datetime.fromtimestamp(time.mktime(time.localtime())))

print now

技巧五:

精確到毫秒的當前方法:

now = datetime.today()

print now

python簡單函式記錄 sort排序函式

多個相關列表一起排序的時候可以用元組列表排序,記錄一下排序sort的用法 首先是sort,sort排序要改變原列表,sort很簡單 設定兩個列表 a 1,2,3,4,5 b 9,8,7,6,5 給b排序 b.sort pirnt b 結果 5,6,7,8,9 sorted相對比較複雜。sorted不...

python日常時間記錄

看了 奇特的人生 後想試試裡邊柳比歇夫的辦法記錄下時間,看看能不能多把握點時間的下腳料 我的文字使用子彈簡訊記錄的,然後把再拷貝到電腦上。格式是 事項 num 分鐘 如 奇葩說 120分鐘 coding gbk from pyecharts import pie defbuild lists a d...

Python學習記錄 時間

note 以下類容 於網路,作為自己學習摘抄記錄,方便以後檢視 python提供time時間模組需要單獨引入 推遲呼叫執行緒的執行,secs指秒數。time.sleep secs 時間戳 時間戳都以自從1970年1月1日午夜經過了多長時間來表示,時間間隔是以秒為單位的浮點小數。import time...