2 Star 4 Fork 3

starjason/jd-scripts-docker

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
wait_hour.py 1.32 KB
一键复制 编辑 原始数据 按行查看 历史
hbstarjason2021 提交于 2021-05-09 13:35 . Create wait_hour.py
import time
from datetime import datetime, timedelta, timezone
import logging
import sys
import math
if (len(sys.argv) < 2):
exit()
now = datetime.now()
zone_cn = timezone(timedelta(hours=8))
now_cn = now.astimezone(zone_cn)
logging.warning(f'服务器时间:{now}, 北京时间:{now_cn}')
logging.warning(now_cn.hour)
target_hour = -1
hour = now_cn.hour
if (len(sys.argv) == 2 and "-" in sys.argv[1]):
hs = sys.argv[1].split("-")
if hour+1 >= int(hs[0]) and hour+1 <= int(hs[1]):
target_hour = hour+1
else :
for i in range(1, len(sys.argv)):
if (hour < int(sys.argv[i])):
target_hour = int(sys.argv[i])
break
if target_hour == -1:
logging.error(f'木有匹配到对应的参数: {sys.argv[1:]}')
exit()
logging.warning(f'匹配到的参数为: {target_hour}')
if target_hour == 24:
target_hour = 0
target_time = now_cn.replace(hour=target_hour,minute=0, second=0, microsecond=0)
if target_hour == 0:
target_time = target_time + timedelta(days=1)
logging.warning(f'当前时间: {now_cn}, 目标时间: {target_time}')
td = target_time - now_cn
if td.seconds > 3600:
logging.error('时间差大于1小时,退出')
exit()
logging.warning(f'需要沉睡:{td.seconds}秒')
wait = td.seconds+math.floor(td.microseconds/1000)/1000
time.sleep(wait)
logging.warning(f'当前北京时间:{datetime.now().astimezone(zone_cn)}')
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/starjason/jd-scripts-docker.git
git@gitee.com:starjason/jd-scripts-docker.git
starjason
jd-scripts-docker
jd-scripts-docker
main

搜索帮助