中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

time庫與datetime庫怎么在python項目中使用

發布時間:2020-12-25 14:28:49 來源:億速云 閱讀:230 作者:Leah 欄目:開發技術

time庫與datetime庫怎么在python項目中使用?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

python語言使用內置time庫和datetime庫來處理日期時間

相關術語的解釋

  • UTC time Coordinated Universal Time,世界協調時,又稱 格林尼治天文時間、世界標準時間。與UTC time對應的是各個時區的local time,東N區的時間比UTC時間早N個小時,因此UTC time + N小時 即為東N區的本地時間;而西N區時間比UTC時間晚N個小時,即 UTC time - N小時 即為西N區的本地時間; 中國在東8區,因此比UTC時間早8小時,可以以UTC+8進行表示。

  • epoch time 表示時間開始的起點;它是一個特定的時間,不同平臺上這個時間點的值不太相同,對于Unix而言,epoch time為 1970-01-01 00:00:00 UTC。

  • timestamp(時間戳) 也稱為Unix時間 或 POSIX時間;它是一種時間表示方式,表示從格林尼治時間1970年1月1日0時0分0秒開始到現在所經過的毫秒數,其值為float類型。 但是有些編程語言的相關方法返回的是秒數(Python就是這樣),這個需要看方法的文檔說明。需要說明的是時間戳是個差值,其值與時區無關。

調用庫的三種方式:

以time庫為例,調用其它庫類似

from time import * (*代表time包含所有的時間處理函數,用到某個也可單定義,調用函數時直接使用,比如:clock())
import time  (調用函數方式,比如:time.clock())
import time as t (自定義庫的名稱,調用時方便,比如:t.clock())

time庫的主要的三類函數:

以上面第三種庫調用方式舉例

1.時間獲取:t.time();t.ctime();t.gmtime() #每種獲取時間不一樣,根據需求使用
2.程序計時:t.clock();t.perf_counter() #使用方式一樣
3.時間格式化:t.strftime(format,t);t.strptime(string,format)
#format表示要定義的格式,t表示獲取的時間,string表示字符串類型時間
    字符串格式化:%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)
 4.程序休眠:t.sleep()

#使用舉例
import time as t
t0=t.gmtime()
print(t0)
t1="2020-12-23 19:23:20"
t2 = t.strptime(t1,"%Y-%m-%d %H:%M:%S")
t3 = t.strftime("%y/%m/%d %H:%M:%S")
print(t2)
print(t3)

打印結果:
C:\Users\86185\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/86185/PycharmProjects/untitled/Python復習/hk.py
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=23, tm_hour=12, tm_min=22, tm_sec=39, tm_wday=2, tm_yday=358, tm_isdst=0)
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=23, tm_hour=19, tm_min=23, tm_sec=20, tm_wday=2, tm_yday=358, tm_isdst=-1)
20/12/23  20:22:39

Process finished with exit code 0

time模塊主要用于時間訪問和轉換,這個模塊提供了各種與時間相關的函數。

方法/屬性描述
time.altzone返回與utc時間的時間差,以秒為單位(西區該值為正,東區該值為負)。其表示的是本地DST 時區的偏移量,只有daylight非0時才使用。
time.clock()返回當前進程所消耗的處理器運行時間秒數(不包括sleep時間),值為小數;該方法Python3.3改成了time.process_time()
time.asctime([t])將一個tuple或struct_time形式的時間(可以通過gmtime()和localtime()方法獲取)轉換為一個24個字符的時間字符串,格式為: "Fri Aug 19 11:14:16 2016"。如果參數t未提供,則取localtime()的返回值作為參數。
time.ctime([secs])功能同上,將一個秒數時間戳表示的時間轉換為一個表示當前本地時間的字符串。如果參數secs沒有提供或值為None,則取time()方法的返回值作為默認值。ctime(secs)等價于asctime(localtime(secs))
time.time()返回時間戳(自1970-1-1 0:00:00 至今所經歷的秒數)
time.localtime([secs])返回以指定時間戳對應的本地時間的 struct_time對象(可以通過下標,也可以通過 .屬性名 的方式來引用內部屬性)格式
time.localtime(time.time() + n*3600)返回n個小時后本地時間的 struct_time對象格式(可以用來實現類似crontab的功能)
time.gmtime([secs])返回指定時間戳對應的utc時間的 struct_time對象格式(與當前本地時間差8個小時)
time.gmtime(time.time() + n*3600)返回n個小時后utc時間的 struct_time對象(可以通過 .屬性名 的方式來引用內部屬性)格式
time.strptime(time_str, time_format_str)將時間字符串轉換為struct_time時間對象,如:time.strptime('2017-01-13 17:07', '%Y-%m-%d %H:%M')
time.mktime(struct_time_instance)將struct_time對象實例轉換成時間戳
time.strftime(time_format_str[, struct_time_instance])將struct_time對象實例轉換成字符串,如果struct_time_instance不指定則取當前本地時間對應的time_struct對象

datetime庫主要的四類函數:

datetime庫是基于time庫進行了封裝;以import datetime as dt 為datetime庫調用方式

1.date:表示的是日期對象 #dt.date
2.time;表示的是時間對象 #dt.time ;一般不用date和time函數,datetime函數包含其功能
3.datetime:表示的是日期時間對象#dt.datetime.now()表示獲取當前時間;dt.strftime(format) # 按照 format 進行格式化輸出
4.timedelta:主要用于定義計算時間跨度 #t=dt.timedelat(hours=10)表示定義時間跨度是10小時

用分隔符'''分類展示如下:

import datetime as dt
now = dt.datetime.now() # 獲取當前datetime
print(now)
輸出結果:2019-05-07 16:28:07.198690
'''
d = dt.date(2020, 12, 23)
print(d)
print('year:', d.year)
print('month:', d.month)
print('day:', d.day)
輸出結果:
2020-12-23
year: 2020
month: 12
day: 23
'''
'''
date1=dt.date(2020,12,23)
timedel=dt.timedelta(days=4)#表示時間跨度為4天
print('四天后的日期是:', date1+timedel)
輸出結果:四天后的日期是:2020-12-27
'''

最后配上一段小程序:文本進度條打印程序分析

import time
scale = 100 #這個可以隨意設置,看需求
print("執行開始".center(scale//2,'-'))# .center(a,'b')函數是居中符,這條程序是將“執行開始”居中占字符為scale//2(可看需求自定義),b為填充符
starttime = time.clock() #time庫內置函數,第一次使用是開始計時
for i in range(scale+1):
  a = '*' * i  #將'*'字符隨i的增加而增加
  b = '.' * (scale - i) #將'.'字符隨‘*'增加而減少,兩個字符總數是scale的初始值數量
  c = (i/scale) * 100 #求百分比
  t = time.clock()-starttime #計算時間,第二次調用time.clock函數表示計時結束
  print("\r{:^3.0f}%[{}->{}]{:.2}s".format(c,a,b,t),end="")#字符格式化,看需求,自己玩就是咋好看咋格式化
  time.sleep(0.05) #time.sleep()函數表示讓程序休眠,里面參數是休眠時間根據需求隨意定義
print("\n"+"執行結束".center(scale//2,'-'))#同上;"\n表示換行打印";"+"連接符,具有連接功能

關于datetime模塊的datetime類會在下面做詳細講解,這里簡單說下time.struct_time。

time.struct_time包含如下屬性:

下標/索引屬性名稱描述
0tm_year年份,如 2017
1tm_mon月份,取值范圍為[1, 12]
2tm_mday一個月中的第幾天,取值范圍為[1-31]
3tm_hour小時, 取值范圍為[0-23]
4tm_min分鐘,取值范圍為[0, 59]
5tm_sec秒,取值范圍為[0, 61]
6tm_wday一個星期中的第幾天,取值范圍為[0-6],0表示星期一
7tm_yday一年中的第幾天,取值范圍為[1, 366]
8tm_isdst是否為夏令時,可取值為:0 , 1 或 -1

屬性值的獲取方式有兩種:

  • 可以把它當做一種特殊的有序不可變序列通過 下標/索引 獲取各個元素的值,如t[0]

  • 也可以通過 .屬性名 的方式來獲取各個元素的值,如t.tm_year。

需要說明的是struct_time實例的各個屬性都是只讀的,不可修改。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

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

AI

平阴县| 张家港市| 屯门区| 平度市| 资阳市| 平罗县| 万全县| 深水埗区| 洛隆县| 永城市| 锡林浩特市| 雷州市| 织金县| 邵东县| 吉林省| 仁化县| 塘沽区| 岳阳市| 微博| 扎赉特旗| 长沙县| 和平县| 拉孜县| 牡丹江市| 遂溪县| 桃江县| 什邡市| 定州市| 敦化市| 衡阳市| 通许县| 南川市| 修文县| 山西省| 太仆寺旗| 普兰店市| 克什克腾旗| 卓资县| 榆中县| 民乐县| 平湖市|