time與datetime模塊怎么在Python3.5項目中使用?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
1、模塊的分類
a、標準庫(Python自帶):sys、os模塊
b、開源模塊(第三方模塊)
c、自定義模塊
2、內建模塊——time


(1)在Python中通常用以下幾種方式來表示時間:
a、時間戳:從1970年1月1日開始到當下的時間的秒數,導入time模塊(import time),調用time.time()方法即可。
b、格式化的時間字符串。
c、元組(struct_time),共九個元素,調用time.localtime()。
由于Python的time模塊實現主要調用C庫,各個平臺可能有所不同。


(2)代碼
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:ZhengzhengLiu
import time
print(time.time()) #獲取時間戳
time.sleep(2) #睡2秒
print(time.time()) #獲取時間戳
print(time.gmtime()) #獲取當前世界標準時間UTC
print(time.localtime()) #獲取當前本地時間
print(time.localtime(1234567890)) #將時間戳轉換成元組形式
x = time.localtime()
print(x.tm_year) #獲取本地時間的年份
print("this is 2017 day:%d" %x.tm_yday)
print(time.mktime(x)) #將元組形式轉換成時間戳
#將struct_time轉化成格式化字符串的形式
#print(time.strftime("%Y-%m-%d %H:%M:%S"),x)
print(time.strftime("%Y-%m-%d %H:%M:%S"),time.localtime()) # %Y:x.tm_year %m:x.tm_mon 順序可以打亂
#將格式化字符串的形式轉化成struct_time
print(time.strptime("2017-09-28 19:00:47","%Y-%m-%d %H:%M:%S")) #x.tm_year:2017,x.tm_mon:09 位置順序必須一一對應
print(time.asctime()) #結構化的元組形式轉換成形如:周月日時分秒年的形式
print(time.ctime()) #將時間戳轉化成形如:周月日時分秒年的形式運行結果:
1506598454.9637923
1506598456.9639068
time.struct_time(tm_year=2017, tm_mon=9, tm_mday=28, tm_hour=11, tm_min=34, tm_sec=16, tm_wday=3, tm_yday=271, tm_isdst=0)
time.struct_time(tm_year=2017, tm_mon=9, tm_mday=28, tm_hour=19, tm_min=34, tm_sec=16, tm_wday=3, tm_yday=271, tm_isdst=0)
time.struct_time(tm_year=2009, tm_mon=2, tm_mday=14, tm_hour=7, tm_min=31, tm_sec=30, tm_wday=5, tm_yday=45, tm_isdst=0)
2017
this is 2017 day:271
1506598456.0
2017-09-28 19:34:16 time.struct_time(tm_year=2017, tm_mon=9, tm_mday=28, tm_hour=19, tm_min=34, tm_sec=16, tm_wday=3, tm_yday=271, tm_isdst=0)
time.struct_time(tm_year=2017, tm_mon=9, tm_mday=28, tm_hour=19, tm_min=0, tm_sec=47, tm_wday=3, tm_yday=271, tm_isdst=-1)
Thu Sep 28 19:34:17 2017
Thu Sep 28 19:34:17 2017
(3)幾種表示時間的相互轉化


#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:ZhengzhengLiu
import time #導入時間模塊
#1.返回當前時間戳
t = time.time()
print("Current time:",t)
#2.將時間戳轉換成當地時間的時間元祖
tup1 = time.localtime(t)
print(tup1)
#年:tm_year,月:tm_mon,日:tm_mday
print("年份:",tup1.tm_year)
print("月份:",tup1.tm_mon)
print("日期:",tup1.tm_mday)
#3.將時間元組轉換為時間戳(毫秒會忽略)
print("Timestamp is:",time.mktime(tup1))
#4.0 獲取CPU運行時間來獲取比較精準的秒數,一般用于時間間隔的獲取或比較
#4.1 休眠/停止一段時間,指定需要停止的秒數
print("開始時間:",time.clock())
time.sleep(3)
print("結束時間1:",time.clock())
time.sleep(3)
print("結束時間2:",time.clock())
#5.時間元組轉化成格式化時間字符串
tm_str = time.strftime("%Y-%m-%d %H:%M:%S",tup1)
print("格式化時間字符串:",tm_str)
#等價于
print("格式化時間字符串:",time.strftime("%Y-%m-%d %H:%M:%S",tup1))
#6.格式化時間字符串轉化成時間元組
tup2 = time.strptime(tm_str,"%Y-%m-%d %H:%M:%S")
print("時間元組:",tup2)
#等價于
print("時間元組:",time.strptime(tm_str,"%Y-%m-%d %H:%M:%S"))運行結果:
Current time: 1509503024.233398
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=1, tm_hour=10, tm_min=23, tm_sec=44, tm_wday=2, tm_yday=305, tm_isdst=0)
年份: 2017
月份: 11
日期: 1
Timestamp is: 1509503024.0
開始時間: 1.399506347461039e-06
結束時間1: 2.9997266297601293
結束時間2: 5.999885706981624
格式化時間字符串: 2017-11-01 10:23:44
格式化時間字符串: 2017-11-01 10:23:44
時間元組: time.struct_time(tm_year=2017, tm_mon=11, tm_mday=1, tm_hour=10, tm_min=23, tm_sec=44, tm_wday=2, tm_yday=305, tm_isdst=-1)
時間元組: time.struct_time(tm_year=2017, tm_mon=11, tm_mday=1, tm_hour=10, tm_min=23, tm_sec=44, tm_wday=2, tm_yday=305, tm_isdst=-1)
3、內建模塊——datatime
(1)datatime.data——日期(年月日)
(2)datatime.time——時間(時分秒)
(3)datatime.datatime——日期+時間(年月日時分秒)
代碼舉例:
import datetime print(datetime.datetime.now()) #獲取當前時間 print(datetime.datetime.now()+datetime.timedelta(3)) #當前時間的后三天 print(datetime.datetime.now()+datetime.timedelta(-3)) #當前時間的前三天 print(datetime.datetime.now()+datetime.timedelta(hours=3)) #當前時間的后三個小時 print(datetime.datetime.now()+datetime.timedelta(minutes=-3)) #當前時間的前三分鐘 c_time = datetime.datetime.now() print(c_time.replace(minute=2,hour=3)) #對當前時間的替換
運行結果:
2017-09-28 19:54:40.167870
2017-10-01 19:54:40.167870
2017-09-25 19:54:40.167870
2017-09-28 22:54:40.167870
2017-09-28 19:51:40.167870
2017-09-28 03:02:40.167870
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。