Python處理時間戳和時間計(jì)算等的腳本分享
由于實(shí)際需要,簡要寫了個小腳本,并打包生成exe,供無網(wǎng)絡(luò)環(huán)境下使用
腳本1:顯示當(dāng)前時間與時間戳,以及10分鐘后的時間與時間戳
# -*- coding: utf-8 -*- """ Project: pyWorkspace Creator: Administrator -haochuang Create time: 2021-05-12 09:24 IDE: PyCharm Introduction: """
import time import datetime t=datetime.datetime.now() #當(dāng)前日期 t1 =t.strftime('%Y-%m-%d %H:%M:%S') #轉(zhuǎn)為秒級時間戳 ts1=time.mktime(time.strptime(t1, '%Y-%m-%d %H:%M:%S')) #轉(zhuǎn)為毫秒級 end_time=int(str(ts1*1000).split(".")[0]) #10分鐘后 t2 = (t+datetime.timedelta(minutes=10)).strftime("%Y-%m-%d %H:%M:%S") # t2=(t-datetime.timedelta(hours=1)).strftime("%Y-%m-%d %H:%M:%S") #轉(zhuǎn)為秒級時間戳 ts2=time.mktime(time.strptime(t2, '%Y-%m-%d %H:%M:%S')) #轉(zhuǎn)為毫秒級 start_time=int(str(ts2*1000).split(".")[0]) #print("\n","*"*30) print("\n") print("*"*30) print("當(dāng)前時間戳:") print(start_time) print("當(dāng)前時間:") print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ts2))) print("*"*30,"\n") print("10分鐘后的時間戳:") print(end_time) print("10分鐘后的時間:") print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ts1))) print("*"*30,"\n")
腳本2:顯示當(dāng)前時間與時間戳,以及10分鐘后的時間與時間戳,允許根據(jù)輸入的指定時間,生成多久之后的時間戳
# -*- coding: utf-8 -*- """ Project: pyWorkspace Creator: Administrator -haochuang Create time: 2021-05-12 09:24 IDE: PyCharm Introduction: """
import time import datetime t=datetime.datetime.now() #當(dāng)前日期 t1 =t.strftime('%Y-%m-%d %H:%M:%S') #轉(zhuǎn)為秒級時間戳 ts1=time.mktime(time.strptime(t1, '%Y-%m-%d %H:%M:%S')) #轉(zhuǎn)為毫秒級 end_time=int(str(ts1*1000).split(".")[0]) #10分鐘后 t2 = (t+datetime.timedelta(minutes=10)).strftime("%Y-%m-%d %H:%M:%S") # t2=(t-datetime.timedelta(hours=1)).strftime("%Y-%m-%d %H:%M:%S") #轉(zhuǎn)為秒級時間戳 ts2=time.mktime(time.strptime(t2, '%Y-%m-%d %H:%M:%S')) #轉(zhuǎn)為毫秒級 start_time=int(str(ts2*1000).split(".")[0]) #print("\n","*"*30) print("\n") print("*"*30) print("當(dāng)前時間戳:") print(start_time) print("當(dāng)前時間:") print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ts2))) print("*"*30,"\n") # 10分鐘后的時間戳 print("10 分鐘后的時間戳:") print(end_time) print("10 分鐘后的時間:") print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ts1))) print("*"*30,"\n") # 用戶自定義時間 time_user = input("需要多少分鐘后的時間戳(請輸入正確int類型數(shù)值):") t3 = (t+datetime.timedelta(minutes=int(time_user))).strftime("%Y-%m-%d %H:%M:%S") ts3=time.mktime(time.strptime(t3, '%Y-%m-%d %H:%M:%S')) #轉(zhuǎn)為毫秒級 start_time=int(str(ts3*1000).split(".")[0]) print(time_user + " 分鐘后的時間戳:") print(end_time) print(time_user + " 分鐘后的時間:") print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ts3))) print("*"*30,"\n")
腳本3:顯示部分時間與時間戳等
# -*- coding: utf-8 -*- """ Project: pyWorkspace Creator: Administrator -haochuang Create time: 2021-05-12 09:24 IDE: PyCharm Introduction: """ import time import datetime from datetime import timezone from datetime import timedelta # 顯示當(dāng)前秒級時間戳與毫秒級時間戳、微秒級時間戳 t = time.time() #print(t) # 原始時間數(shù)據(jù) #print(int(t)) # 秒級時間戳 #print(int(round(t * 1000))) # 毫秒級時間戳 #print(int(round(t * 1000000))) # 微秒級時間戳 # 顯示當(dāng)前日期: dt = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') dt_ms = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') # 含微秒的日期時間,來源 比特量化 print("當(dāng)前日期(s): " + dt) print("當(dāng)前日期(ms): " + dt_ms) # 將日期轉(zhuǎn)為秒級時間戳 #dtt = '2018-01-01 10:40:30' #dtts = int(time.mktime(time.strptime(dt, "%Y-%m-%d %H:%M:%S"))) #ts_ms = int(time.mktime(time.strptime(dt, "%Y-%m-%d %H:%M:%S"))) t=datetime.datetime.now() print("當(dāng)前時間戳(s): " + t) print("當(dāng)前時間戳(ms): " + (int(round(t * 1000)))) # 國際標(biāo)準(zhǔn)時間 print("國際標(biāo)準(zhǔn)時間: "+time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime())) # 本地時間 print("本地當(dāng)前時間: "+time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())) # 將當(dāng)前日期轉(zhuǎn)為秒級時間戳 dt = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) dt_ts = int(time.mktime(time.strptime(dt, "%Y-%m-%d %H:%M:%S"))) print("當(dāng)前時間: " + dt) print("當(dāng)前時間戳: " + dt_ts) # 將獲取十分鐘后的秒級時間戳 #dt_10 = int((datetime.datetime.now()+datetime.timedelta(minutes=10)).strftime("%Y-%m-%d %H:%M:%S")) #ts_10 = int(time.mktime(time.strptime(dt_10, "%Y-%m-%d %H:%M:%S"))) after10 = (datetime.datetime.now()+datetime.timedelta(minutes=10)).strftime("%Y-%m-%d %H:%M:%S") after10_ts = int(time.mktime(time.strptime(t1,after10))) print("10分鐘后的時間: " + after10) print("10分鐘后的時間戳: "
腳本4:顯示部分時間與時間戳等
# -*- coding: utf-8 -*- """ Project: pyWorkspace Creator: Administrator -haochuang Create time: 2021-05-12 09:08 IDE: PyCharm Introduction: """ import datetime import time print('*'*30 +"獲取時間方式") #獲取當(dāng)前時間:Thu Nov 03 16:40:00 2016 print(time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())) #獲取當(dāng)前時間:2016-11-03 16:40:00 print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')) #獲取年,月,日:2016-11-03 print(datetime.date.today()) #獲取當(dāng)前時間:2016-11-03 16:43:14.550000 print(datetime.datetime.now()) #不加參數(shù)是00:00,參數(shù)days=1表示一天:1 day, 0:00:00 print(datetime.timedelta(days=1)) #獲取昨天日期:2016-11-02 nowtime=datetime.date.today() oldtime=datetime.timedelta(days=1) print(nowtime-oldtime) #獲取昨天的精確日期 oldtime=datetime.timedelta(days=1) print (datetime.datetime.now() - oldtime) print ('*'*30 + 'python時間處理之time模塊') import time # 返回時間戳 # print(time.time()) # 返回當(dāng)前時間 print(time.ctime()) # 返回一天前的時間 print(time.ctime(time.time()-86400)) # 函數(shù)返回time.struct_time類型的對象 time_obj = time.gmtime() print(time_obj) #結(jié)果:time.struct_time(tm_year=2016, tm_mon=7, tm_mday=27, tm_hour=8, tm_min=52, tm_sec=26, tm_wday=2, tm_yday=209, tm_isdst=0) # 格式化輸出: print(time_obj.tm_year,time_obj.tm_mon,time_obj.tm_mday) print("{year}-{month}".format(year=time_obj.tm_year,month=time_obj.tm_mon)) # 以time.struct_time類型,打印本地時間 print(time.localtime()) # 轉(zhuǎn)換成時間戳 time_obj = time.gmtime() print(time.mktime(time_obj)) # 延時2秒 time.sleep(2) # 打印UTC,世界標(biāo)準(zhǔn)時間,北京時區(qū)是東八區(qū),領(lǐng)先UTC八個小時 print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime())) # 本地時間 print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())) # 把time.struct_time類型時間,轉(zhuǎn)換成時間戳 tm = time.strptime("2016-05-6 15:06:33","%Y-%m-%d %H:%M:%S") print(tm) print(time.mktime(tm)) print ('*'*30 + '3-python時間處理之datetime模塊') import datetime # 打印當(dāng)前,年,月,日 print(datetime.date.today()) # 打印當(dāng)前時間,精確到微秒 current_time = datetime.datetime.now() print(current_time) # 轉(zhuǎn)成time.struct_time格式時間 current_time = datetime.datetime.now() print(current_time.timetuple()) # 加十天 print(datetime.datetime.now() +datetime.timedelta(days=10)) # 減十天 print(datetime.datetime.now() +datetime.timedelta(days=-10)) # 減十個小時 print(datetime.datetime.now() +datetime.timedelta(hours=-10)) # 加120s print(datetime.datetime.now() +datetime.timedelta(seconds=120)) # 替換成指定的時間 cr_time = datetime.datetime.now() print(cr_time.replace(2014,9,12)) # 結(jié)果:2014-09-12 17:28:17.522893 # 格式化輸出 print(datetime.datetime.strptime("21/11/06 16:30","%d/%m/%y %H:%M")) # 替換成指定時間后,類型是<class 'datetime.datetime'> current_time = datetime.datetime.now() time_obj = current_time.replace(2015,5) print(time_obj,type(time_obj)) # 結(jié)果:2015-05-27 17:34:13.350245 <class 'datetime.datetime'> # 對比時間大小,取指定時間范圍使用 current_time = datetime.datetime.now() time_obj = current_time.replace(2015,5) print(current_time>time_obj) import datetime def getYesterday(): today=datetime.date.today() oneday=datetime.timedelta(days=1) yesterday=today-oneday return yesterday # 輸出 print(getYesterday())
腳本5:關(guān)于時間戳處理
# -*- coding: utf-8 -*- """ Project: pyWorkspace Creator: Administrator -haochuang Create time: 2021-05-12 09:24 IDE: PyCharm Introduction: """ import time import datetime from datetime import timezone from datetime import timedelta # 顯示當(dāng)前秒級時間戳與毫秒級時間戳、微秒級時間戳 t = time.time() print(t) # 原始時間數(shù)據(jù) print(int(t)) # 秒級時間戳 print(int(round(t * 1000))) # 毫秒級時間戳 print(int(round(t * 1000000))) # 微秒級時間戳 # 顯示當(dāng)前日期: dt = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') dt_ms = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') # 含微秒的日期時間,來源 比特量化 print(dt) print(dt_ms) # 將日期轉(zhuǎn)為秒級時間戳 dt = '2018-01-01 10:40:30' ts = int(time.mktime(time.strptime(dt, "%Y-%m-%d %H:%M:%S"))) print(ts) # 將秒級時間戳轉(zhuǎn)為日期 ts = 1515774430 dt = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ts)) print(dt) # 時區(qū)轉(zhuǎn)換 # 顯示UTC時間 utc_now = datetime.datetime.utcnow() print(utc_now) # 世界標(biāo)準(zhǔn)時間 # utc_time = datetime(2019, 7, 30, 7, 50, 0) print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')) # 北京時間UTC+8 # cst_time =utc_time.astimezone(timezone(timedelta(hours=-8))).strftime("%Y-%m-%d %H:%M:%S") # 國際標(biāo)準(zhǔn)時間 print("國際標(biāo)準(zhǔn)時間:"+time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime())) # 本地時間 print("本地時間:"+time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))
到此這篇關(guān)于Python處理時間戳和時間計(jì)算等的腳本分享的文章就介紹到這了,更多相關(guān)Python 時間戳 時間計(jì)算內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)爬取百度圖片的方法示例
這篇文章主要介紹了python實(shí)現(xiàn)爬取百度圖片的方法,涉及Python基于requests、urllib等模塊的百度圖片抓取相關(guān)操作技巧,需要的朋友可以參考下2019-07-07python 網(wǎng)絡(luò)爬蟲初級實(shí)現(xiàn)代碼
這篇文章主要介紹了python 網(wǎng)絡(luò)爬蟲初級實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-02-02Python Paramiko模塊中exec_command()和invoke_shell()兩種操作區(qū)別
invoke_shell 使用 SSH shell channel,而 exec_command 使用 SSH exec channel,本文主要介紹了Python Paramiko模塊中exec_command()和invoke_shell()兩種操作區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02python實(shí)現(xiàn)簡易圖書管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡易圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Python集合中remove()函數(shù)的使用方法詳解
這篇文章主要給大家介紹了關(guān)于python集合中remove()函數(shù)的使用,以及在使用Python集合的remove方法時應(yīng)注意的事項(xiàng),文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07Python正則表達(dá)式字符串的匹配、替換、分割、查找方式
這篇文章主要介紹了Python正則表達(dá)式字符串的匹配、替換、分割、查找方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07python實(shí)現(xiàn)支付寶當(dāng)面付(掃碼支付)功能
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)支付寶當(dāng)面付,掃碼支付功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05python DataFrame數(shù)據(jù)格式化(設(shè)置小數(shù)位數(shù),百分比,千分位分隔符)
本文主要介紹了python DataFrame數(shù)據(jù)格式化,例如設(shè)置小數(shù)位數(shù),百分比,千分位分隔符,具有一定的參考價(jià)值,感興趣的可以了解一下2022-03-03