網站首頁 編程語言 正文
前言:
管理多腳本,要實現大量統計計算以及大量腳本進行統計,定時運行并反饋結果是很多大數據項目場景中十分常見的,就該問題本篇文章提供思路方法以及部分代碼。
一、創建時間
首先可以通過python自帶的datetime庫獲取本地時間,對于Pythpn時間序列想要更深入的了解可以參閱:Pandas處理時間序列數據操作詳解
python3是自帶datetime庫的,他有自身代表時間的數據類型datetime。由此我們可以根據datetime數據結構進行運算,運用邏輯可以達到一定的時間控制。但首先我們需要擁有關于datetime數據類型的知識,好讓我們創建我們想要的日期。
創建datetime很簡單:
from datetime import datetime as dt
dt=dt(2022,5,23)
這就創建了一個2022年5月23日的datetime數據類型。
?若想要轉換為我們熟知的日期格式,我們可以使用strftime函數自定義格式,這里給出strftime函數的用法:
dt.strftime('%m/%d/%Y %H:%M:%S')
二、設定時間
首先我們可以設定起始任務時間,假設我們的腳本自動在早上2點到6點運行一次,并且獲取當天日期作為初始的開始執行日期:
creatTime=datetime.time(2,0,0)
closeTime=datetime.time(6,0,0)
startDate=datetime.datetime.now()
我們需要獲取當前時間和日期:
#獲取當前時間
currentTime=datetime.now().time
#獲取當前日期
currentTime=darerime.now().date
然后我們只要規定每當本地時間在2點到6點這個范圍,我們就執行腳本:
if(startDate<=currentDate)and(creatTime<=currentTime<=closeTime):
? ? ? ? #執行以下python腳本
? ? ? ? print('---------')
? ? ? ? print('執行成功')
?然后我們需要修改開始日期,讓其+1天能夠保持每天持續更新,這里使用到了時間推移函數:
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):
? ? ? ? #執行以下python腳本
? ? ? ? print('---------')
? ? ? ? print('執行成功')
? ? ? ? #成功以后執行日期改為下一天
? ? ? ? startDate=(datetime.datetime.now()+datetime.timedelta(days=1))
原文鏈接:https://jxnuxwt.blog.csdn.net/article/details/124961702
相關推薦
- 2022-07-10 數組的遍歷方法有哪些
- 2022-01-19 el-table 定位 跳轉 至指定 行 位置,保證數據更新后位置不變
- 2022-07-14 Python實現單例模式的四種方式詳解_python
- 2023-01-20 C++利用模板實現消息訂閱和分發功能_C 語言
- 2022-11-09 React的特征單向數據流學習_React
- 2023-02-26 詳解Golang時間處理的踩坑及解決_Golang
- 2023-02-01 C#模擬實現QQ窗體功能_C#教程
- 2023-02-04 Python?encode()方法和decode()方法詳解_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支