您好,登錄后才能下訂單哦!
Python中怎么對時間進行處理,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
## time ##
# time.time
time模塊中時間的表示是以時間戳的形式,時間戳就是一種時間的計數方法,不用去糾結。然后我們看一下,time模塊中需要學習的方法。
import time
now = time.time()
print now
# 1496065442.08
首先可以使用time.time方法查看當前時間,結果他返回的是十四億九千六百零六萬五千四百四十四.零八。這表示什么,我想看下幾點了, 你給我顯示這個?!別急,time模塊的計數方法是以1970年1月1日12點為計數起點,就是0.然后每過1秒就加1.所以剛才哪個是十四億多,過去的四十多年的時間的以秒來計就這么多。
那這個有什么用呢,我嫌的沒事,數過去有多少秒?其實這個方法是比較常用的,一般用在計算程序的運行時間上,比如:
start_time = time.time()
one_plus = range(100)
for x in one_plus:
z = x + 100
print time.time() - start_time
# 0.000999927520752
而計算程序時間的好處是什么呢? 時間就是生命,時間就是金錢啊!當我們發現我們的開發的算法,變得異常的慢的時候,是不是應該考慮程序哪里是不是出了問題。還有在訓練算法的時候,有意識的計算一下每一個epoch的運行時間,可以分析一下,整個程序運行完需要多少時間。
# time.ctime(), time.localtime()
c_time = time.ctime()
print c_time
# Mon May 29 21:58:26 2017
local_time = time.localtime()
print local_time
# time.struct_time(tm_year=2017, tm_mon=5,
tm_mday=29, tm_hour=21, tm_min=58, tm_sec=26,
tm_wday=0, tm_yday=149, tm_isdst=0)
localtime()返回的是當地時間,包括年份,月份,日期,小時,分鐘,秒,星期幾,由0-6依次表示星期一到星期天。tm_yday表示一年中的第多少天,最后一個表示是不是夏令時,0表示否。
# time.strftime和time.strptime
strftime是一個常用的方法,用來格式化輸出時間,格式化輸出的意思是按照給定的格式來輸出時間。當然這個格式也不是由你自己隨便給格式,要符合Python的格式。strftime可以把time類型的時間,轉化為str字符型。而striptime剛好相反,是把字符型的時間,轉換為時間類型。看個栗子
import time
print time.strftime("%Y_%M_%d_%H_%M_%S")
# 2017_16_29_22_16_13
print time.strptime('2017-5-29', '%Y-%M-%d')
# time.struct_time(tm_year=2017, tm_mon=1, tm_mday=29,
tm_hour=0, tm_min=5, tm_sec=0, tm_wday=6, tm_yday=29,
tm_isdst=-1)
print time.strptime("2017_5_29.22:21:45",
"%Y_%m_%d.%H:%M:%S")
# time.struct_time(tm_year=2017, tm_mon=5,
tm_mday=29, tm_hour=22, tm_min=21, tm_sec=45,
tm_wday=0, tm_yday=149, tm_isdst=-1)
## datetime ##
# datetime.datetime, datetime.now, datetime. strftime
datetime返回的是我們見的比較多的輸出形式,now可以獲得現在的日期,strfttime就是格式化輸出的函數,它適合time類,也適合datetime類。然后我們對比一下不同的格式所對應的輸出的區別,這里基本把所有可能的輸出都包括了,剩下的就是自己可以隨意組合。主要區別在于大小寫,以及不同字母表示的意義。這個沒必要記哈,我覺得,找一個自己看著順眼的輸出格式,然后每次用的時候,就用那個就行了。
from datetime import datetime
now = datetime.now()
# # print
print now.strftime("%Y")
print now.strftime("%Y_%B")
print now.strftime("%Y_%B_%d")
print now.strftime("%Y_%B_%d.%H")
print now.strftime("%Y_%B_%d.%H_%M")
print now.strftime("%Y_%B_%d.%H_%M_%S")
# 2017
# 2017_May
# 2017_May_29
# 2017_May_29.22
# 2017_May_29.22_30
# 2017_May_29.22_30_26
from datetime import datetime
now = datetime.now()
# # print
print now.strftime("%y")
print now.strftime("%y_%m")
print now.strftime("%y_%m_%d")
print now.strftime("%y_%m_%d.%I")
print now.strftime("%y_%m_%d.%I_%m")
print now.strftime("%y_%m_%d.%I_%m_%f")
# 17
# 17_05
# 17_05_29
# 17_05_29.10
# 17_05_29.10_05
# 17_05_29.10_05_562000 # 毫秒輸出
看完上述內容,你們掌握Python中怎么對時間進行處理的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。