Python time函數學習(三)


簡介

在數據處理當中,經常會碰到處理時間的問題。比如:在序列預測的過程中,需要通過學習一段時間的數據,去預測未來一段時間的結果。這時候就要用到時間(time、datetimecalendar)模塊,今天介紹時間模塊中的time模塊。

一、time模塊

在Python中有三種表示時間到方式:

  a、timestamp時間戳,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量

  b、struct_time時間元組,共有九個元素組。

  c、format time 格式化時間,已格式化的結構使時間更具可讀性。包括自定義格式和固定格式。

其中格式化時間中每個字符的含義如下

符號 描述
%a 簡化星期名稱
%A 完整星期名稱
%b 簡化月份名稱
%B 完整月份名稱
%c 相應的日期和時間表示
%d 一個月中的第幾天(01 – 31)
%H 一天中的第幾個小時(24小時制,00 – 23)
%I 第幾個小時(12小時制,01 – 12)
%j 一年中的第幾天(001 – 366)
%m 月份(01 – 12)
%M 分鍾數(00 – 59)
%p 本地am或者pm的相應符
%S 秒(01 – 61)
%U 一年中的星期數。(00 – 53星期天是一個星期的開始。)第一個星期天之前的所有天數都放在第0周
%w 一個星期中的第幾天(0 – 6,0是星期天)
%W 和%U基本相同,不同的是%W以星期一為一個星期的開始
%x 相應日期
%X 相應時間
%y 去掉世紀的年份(00 – 99)
%Y 完整的年份
%Z 時區的名字(如果不存在為空字符)
%% ‘%’字符

在元組中會有9項參數,如下表所示:

關鍵字 描述
tm_year
tm_mon 月(1-12)
tm_mday 日(1-31)
tm_hour 時(0-23)
tm_min 分(0-59)
tm_sec 秒(0-61),閏年多兩秒
tm_wday 周一-周日(0-6)
tm_yday 一年中第幾天(1-366)
tm_isdst 是否夏令時(1:是;0:不是;-1:未知;默認 -1)

 這里介紹一些常用命令:

1、time.time()

描述:該函數返回當前時間到時間戳,也就是距離1970年1月1日00:00:00到差值。

代碼如下:

time.time()

#1563030732.796513

 2、time.localtime()

描述:該函數能將一個時間戳轉換成元祖的形式,如果沒有指定時間戳,默認使用當前時間的時間戳。需要注意的是返回的時間是當地時間。

代碼如下:

time.localtime(1563030732.796513)

#time.struct_time(tm_year=2019, tm_mon=7, tm_mday=13, tm_hour=23, tm_min=12, tm_sec=12, tm_wday=5, tm_yday=194, tm_isdst=0)

time.localtime()

#time.struct_time(tm_year=2019, tm_mon=7, tm_mday=13, tm_hour=23, tm_min=16, tm_sec=41, tm_wday=5, tm_yday=194, tm_isdst=0)

3、time.gmtime()

描述:該函數和localtime()的功能一樣,只是它返回的時間是格林威治天文時間(UTC),也就是世界標准時間。中國時間為UTF+8

代碼如下:

time.gmtime()

#time.struct_time(tm_year=2019, tm_mon=7, tm_mday=13, tm_hour=15, tm_min=19, tm_sec=10, tm_wday=5, tm_yday=194, tm_isdst=0)

4、time.mktime()

描述:該函數將一個元祖轉換成時間戳。

代碼如下:

time.mktime(time.localtime())

#1563031277.0

5、time.sleep()

描述:該函數能讓程序暫停休息,傳入幾秒,休息幾秒

6、time.asctime()

描述:該函數將一個元祖轉換成格式化時間。如果沒有傳入參數,默認傳入time.localtime()。

代碼如下:

time.asctime()

#'Sat Jul 13 23:24:31 2019'

7、time.ctime()

描述:該函數將一個時間戳轉換成格式化時間。如果沒有傳入參數,默認傳入time.time()。

代碼如下:

time.ctime()

#'Sat Jul 13 23:27:08 2019'

8、time.strftime()

描述:該函數按照格式化字符把一個元祖轉換成格式化時間字符串。如果沒有傳入參數,默認傳入time.localtime()。

代碼如下:

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

#'2019-07-13 23:29:11'

9、time.strptime()

描述:該函數按照格式化字符把一個格式化時間字符串轉換成元祖。

time.strptime('2019-07-13 23:29:11', '%Y-%m-%d %X')

#time.struct_time(tm_year=2019, tm_mon=7, tm_mday=13, tm_hour=23, tm_min=29, tm_sec=11, tm_wday=5, tm_yday=194, tm_isdst=-1)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM