溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中怎么對時間進行處理

發(fā)布時間:2021-07-02 15:28:00 來源:億速云 閱讀:159 作者:Leah 欄目:大數(shù)據(jù)

Python中怎么對時間進行處理,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

##  time  ##  

# time.time

time模塊中時間的表示是以時間戳的形式,時間戳就是一種時間的計數(shù)方法,不用去糾結(jié)。然后我們看一下,time模塊中需要學習的方法。

import time
now = time.time()
print now
# 1496065442.08

首先可以使用time.time方法查看當前時間,結(jié)果他返回的是十四億九千六百零六萬五千四百四十四.零八。這表示什么,我想看下幾點了, 你給我顯示這個?!別急,time模塊的計數(shù)方法是以1970年1月1日12點為計數(shù)起點,就是0.然后每過1秒就加1.所以剛才哪個是十四億多,過去的四十多年的時間的以秒來計就這么多。

那這個有什么用呢,我嫌的沒事,數(shù)過去有多少秒?其實這個方法是比較常用的,一般用在計算程序的運行時間上,比如:

start_time = time.time()
one_plus = range(100)
for x in one_plus:
   z = x + 100
print time.time() - start_time
# 0.000999927520752

而計算程序時間的好處是什么呢? 時間就是生命,時間就是金錢?。‘斘覀儼l(fā)現(xiàn)我們的開發(fā)的算法,變得異常的慢的時候,是不是應(yīng)該考慮程序哪里是不是出了問題。還有在訓(xùn)練算法的時候,有意識的計算一下每一個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()返回的是當?shù)貢r間,包括年份,月份,日期,小時,分鐘,秒,星期幾,由0-6依次表示星期一到星期天。tm_yday表示一年中的第多少天,最后一個表示是不是夏令時,0表示否。

#  time.strftime和time.strptime

strftime是一個常用的方法,用來格式化輸出時間,格式化輸出的意思是按照給定的格式來輸出時間。當然這個格式也不是由你自己隨便給格式,要符合Python的格式。strftime可以把time類型的時間,轉(zhuǎn)化為str字符型。而striptime剛好相反,是把字符型的時間,轉(zhuǎn)換為時間類型??磦€栗子

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可以獲得現(xiàn)在的日期,strfttime就是格式化輸出的函數(shù),它適合time類,也適合datetime類。然后我們對比一下不同的格式所對應(yīng)的輸出的區(qū)別,這里基本把所有可能的輸出都包括了,剩下的就是自己可以隨意組合。主要區(qū)別在于大小寫,以及不同字母表示的意義。這個沒必要記哈,我覺得,找一個自己看著順眼的輸出格式,然后每次用的時候,就用那個就行了。

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  # 毫秒輸出

看完上述內(nèi)容,你們掌握Python中怎么對時間進行處理的方法了嗎?如果還想學到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI