網(wǎng)站首頁 編程語言 正文
前言:
管理多腳本,要實現(xiàn)大量統(tǒng)計計算以及大量腳本進行統(tǒng)計,定時運行并反饋結(jié)果是很多大數(shù)據(jù)項目場景中十分常見的,就該問題本篇文章提供思路方法以及部分代碼。
一、創(chuàng)建時間
首先可以通過python自帶的datetime庫獲取本地時間,對于Pythpn時間序列想要更深入的了解可以參閱:Pandas處理時間序列數(shù)據(jù)操作詳解
python3是自帶datetime庫的,他有自身代表時間的數(shù)據(jù)類型datetime。由此我們可以根據(jù)datetime數(shù)據(jù)結(jié)構(gòu)進行運算,運用邏輯可以達到一定的時間控制。但首先我們需要擁有關(guān)于datetime數(shù)據(jù)類型的知識,好讓我們創(chuàng)建我們想要的日期。
創(chuàng)建datetime很簡單:
from datetime import datetime as dt
dt=dt(2022,5,23)
這就創(chuàng)建了一個2022年5月23日的datetime數(shù)據(jù)類型。
?若想要轉(zhuǎn)換為我們熟知的日期格式,我們可以使用strftime函數(shù)自定義格式,這里給出strftime函數(shù)的用法:
dt.strftime('%m/%d/%Y %H:%M:%S')
二、設(shè)定時間
首先我們可以設(shè)定起始任務(wù)時間,假設(shè)我們的腳本自動在早上2點到6點運行一次,并且獲取當天日期作為初始的開始執(zhí)行日期:
creatTime=datetime.time(2,0,0)
closeTime=datetime.time(6,0,0)
startDate=datetime.datetime.now()
我們需要獲取當前時間和日期:
#獲取當前時間
currentTime=datetime.now().time
#獲取當前日期
currentTime=darerime.now().date
然后我們只要規(guī)定每當本地時間在2點到6點這個范圍,我們就執(zhí)行腳本:
if(startDate<=currentDate)and(creatTime<=currentTime<=closeTime):
? ? ? ? #執(zhí)行以下python腳本
? ? ? ? print('---------')
? ? ? ? print('執(zhí)行成功')
?然后我們需要修改開始日期,讓其+1天能夠保持每天持續(xù)更新,這里使用到了時間推移函數(shù):
timedelta類表示為時間差,可直接實例化也可以由兩個datetime進行相減操作得到。
可表示的時間差依次為:
days,seconds,microseconds,minutes,hours,weeks
startDate=(datetime.datetime.now()+datetime.timedelta(days=1))
?總代碼如下:
from datetime import datetime as dt
import time
creatTime=datetime.time(2,0,0)
closeTime=datetime.time(6,0,0)
startDate=datetime.datetime.now()
while True:
? ? #獲取當前時間
? ? currentTime=datetime.datetime.now().time
? ? #獲取當前日期
? ? currentDate=datetime.datetime.now().date
? ? if(startDate<=currentDate)and(creatTime<=currentTime<=closeTime):
? ? ? ? #執(zhí)行以下python腳本
? ? ? ? print('---------')
? ? ? ? print('執(zhí)行成功')
? ? ? ? #成功以后執(zhí)行日期改為下一天
? ? ? ? startDate=(datetime.datetime.now()+datetime.timedelta(days=1))
原文鏈接:https://jxnuxwt.blog.csdn.net/article/details/124961702
相關(guān)推薦
- 2022-02-19 .NET?與樹莓派WS28XX?燈帶的顏色漸變動畫效果的實現(xiàn)_實用技巧
- 2022-12-15 Python爬蟲庫urllib的使用教程詳解_python
- 2022-08-14 Python數(shù)據(jù)處理之pd.Series()函數(shù)的基本使用_python
- 2022-11-14 react裝飾器與高階組件及簡單樣式修改的操作詳解_React
- 2022-10-25 c++標準模板庫:STL
- 2022-04-28 shell命令執(zhí)行hive腳本(hive交互)_linux shell
- 2022-10-13 詳解python-opencv?常用函數(shù)_python
- 2023-07-28 獲取當前日期以及前6天的日期集合
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支