python獲取現在時間
A. python中時間如何表示
Python中有3種不同的時間表示法
1.時間戳 timestamp 是從1970年1月1日0時0分0秒開始的秒數
2.struct_time 包含9個元素的tuple
3.format time 已經格式化好便於閱讀的時間
使用時間需要使用time模塊
import time引入time模塊
time.time()方法獲取當前的時間,以timestamp的形式
>>> time.time()
1576372527.424447
time.localtime()方法:以struct_time的形式獲取當前的當地時間
>>> time.localtime()
time.struct_time(tm_year=2019, tm_mon=12, tm_mday=14,
tm_hour=20, tm_min=15, tm_sec=49, tm_wday=5, tm_yday=348, tm_isdst=0)
time.gmtime()方法:以struct_time的形式獲取當前的格林尼治時間
從struct_time中獲取具體的年月日:
ctime.tm_year ctime.tm_mon .....
ttm_tm_isdst = 1來告知mktime()現在處於夏令時,明確使用ttm.tm_isdst = 0來告知未處於夏令時
不同時間表示法的轉換
struct_time轉timestamp: time.mktime(<struct_time>)
timestamp轉struct_time: time.localtime(time.time())
B. python編程,使用Tkinter中的文本框顯示系統時間
Python編程中,用Tkinter中的文本框獲取系統當前的時間並且顯示,代碼如下:
importsys
fromtkinterimport*
importtime
deftick():
globaltime1
#從運行程序的計算機上面獲取當前的系統時間
time2=time.strftime('%H:%M:%S')
#如果時間發生變化,代碼自動更新顯示的系統時間
iftime2!=time1:
time1=time2
clock.config(text=time2)
#
#
#coulse>200ms,butdisplaygetsjerky
clock.after(200,tick)
root=Tk()
time1=''
status=Label(root,text="v1.0",bd=1,relief=SUNKEN,anchor=W)
status.grid(row=0,column=0)
clock=Label(root,font=('times',20,'bold'),bg='green')
clock.grid(row=0,column=1)
tick()
root.mainloop()
C. python根據時間戳獲取時分秒
時間戳可簡單理解為自1970/01/01/ 00:00:00 到現在經過的秒數,如果要計算日期運算,因為涉及到潤年,一般使用語言自帶的庫實現比較簡單和高效。但如果只是取時間即時分秒,完全可以不用依賴庫,通過模運算和取整運算的方式實現,並且性能比內部庫函數效率更高。
運行結果,100萬次
1000萬次
性能快了接近200%,如果有涉及到大數據分析場景,百萬甚至千萬級別次的調用時,該演算法還是有意義的
D. 如何在python中獲得當前時間前幾天的日期
很簡單,下面這些代碼是獲取當前日期的:
importtime
now=time.time()#當前時間戳
print(now)
print(time.ctime(now))#格式化當前時間戳
print(time.localtime(now))#當前時間結構體
mon=time.localtime(now)[1]#從當前時間結構體中提取月
day=time.localtime(now)[2]#從當前時間結構體中提取日
print("當前日期:%s月%s日"%(mon,day))#列印當前月與日
最終列印出來的結過如下:
這里為了演示,將時間戳計算拆解開來了,實際使用中為了提高效率,每天86400秒直接使用。而時間結構體的生成函數也應只使用一次,將返回值賦值給變數,然後從變數中分別提取。
此外還有一點尤其需要注意,Unix時間戳與Windows下不同,單位是毫秒而不是秒,所以在linux等系統下時間差還應額外乘以1000。
E. Python獲取當前時間前、後一個月的函數
這需求折騰了我半天..
import time
import datetime as datetime
def late_time(time2):
# 先獲得時間數組格式的日期
#time2是外部傳入的任意日期
now_time = datetime.datetime.strptime(time2, '%Y-%m-%d')
#如需求是當前時間則去掉函數參數改寫 為datetime.datetime.now()
threeDayAgo = (now_time - datetime.timedelta(days =30))
# 轉換為時間戳
timeStamp =int(time.mktime(threeDayAgo.timetuple()))
# 轉換為其他字元串格式
otherStyleTime = threeDayAgo.strftime("%Y-%m-%d")
return otherStyleTime
a = late_time("2019-3-30")
print(a)# 列印2018-02-28
F. python運行時間的幾種方法
1.獲取當前時間的兩種方法:
importdatetime,time
now=time.strftime("%Y-%m-%d%H:%M:%S")
printnow
now=datetime.datetime.now()
printnow
2.獲取上個月最後一天的日期(本月的第一天減去1天)
last=datetime.date(datetime.date.today().year,datetime.date.today().month,1)-datetime.timedelta(1)
printlast
3.獲取時間差(時間差單位為秒,常用於計算程序運行的時間)
starttime=datetime.datetime.now()
#longrunning
endtime=datetime.datetime.now()
print(endtime-starttime).seconds
4.計算當前時間向後10個小時的時間
d1=datetime.datetime.now()
d3=d1+datetime.timedelta(hours=10)
d3.ctime()
註:常用的類有:datetime和timedelta二種,相互間可以加減。