LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 怎么用编程来实现多个强闹钟提醒

怎么用编程来实现多个强闹钟提醒

2020-09-17 杨卫祥 来源:区块链网络


我们在生活中经常需要日程来提醒,尤其是事情比较多的时候。但是非常忙的时候还是会错过某些重要的事情。

就比如币圈最近IEO比较多,币安、火币、Gate等,什么时候参加、交易等等,错过之后损失还挺大。有一次我把手机放在桌子上,在别的地方忙,而当天有火币的IEO,我用的是日程提醒,手机仅响一次,然后有个提示界面,但我没听到又没去看,导致错过,损失至少上千元。

对非常重要的事可在当天用闹钟提醒,尤其是交易相关的,但若是这件事在某些天之后,设置闹钟又不太方便。

就想办法怎么样用编程实现一个强提醒:设置一个固定时间,然后到达这个时间之后让电脑和手机同时提示,直到去关闭,否则就一直响。

网上搜索了几个,先是发现有个schedule库,可以实现每几分钟、每几小时、每几天等等,发现没有我要求的到达一个固定时间来提醒。

后来找到一个用年、月、日来判断,但也比较麻烦。

感觉这个应该蛮简单就能实现,思来想去终于想到是否可以用时间戳来实现。

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。通俗的讲, 时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。各个交易所的交易数据在保存时都会有个时间戳。

每一个时间点都可以转化成一个总毫秒数的时间戳,这个数是根据日期的增加而增加的,要判断是否到达某个时间点,只需要与当前时间的时间戳比较即可。

思路有了,就好实现了。提醒可以用钉钉实现电脑和手机同时提醒。

要把某个时间转化为时间戳,首先需要用time.strptime()转化为时间数组,然后再用time.mktime()转化为时间戳。用time.time()就可获得当前时间戳,都转化为整数对比即可。

程序如下:

remind_time = "2019-09-23 11:55:00" # 提醒时间,注意格式
remind_content = '比特儿IEO, 24日12点还有一个' # 提醒内容
timestamp = int(time.mktime(time.strptime(remind_time, "%Y-%m-%d %H:%M:%S"))) # # 转换成时间数组, 再转换成时间戳,秒级
timestamp1 = int(time.time()) # 当前时间
if timestamp1 > timestamp:
print(remind_content)
send_msg = send_dingding_msg1(remind_content)
print(send_msg)

为了要实现提醒,必须加入循环;

要实现多个提醒,把上面这段再复制就行了,想复制多少个就多少个;

可以给每个提醒前加个开关,需要时打开用if 1:判断,不需要时关闭用 if 0:

每次看到公告之后就可以把提醒写上去,这样也只要操心一次,开着程序,到时间就绝对不会忘。

附完整代码:

import time, datetime, requests,

# 异常监控用
def send_dingding_msg1(content, robot_id='你的钉钉机器人ID'):
try:
msg = {
"msgtype": "text",
"text": {"content": content + '\n' + datetime.datetime.now().strftime("%m-%d %H:%M:%S")}
}
headers = {"Content-Type": "application/json ;charset=utf-8 "}
url = 'https://oapi.dingtalk.com/robot/send?access_token=' + robot_id
body = json.dumps(msg)
status = requests.post(url, data=body, headers=headers)
if status.status_code == 200:
return status.json()
# else:
# return response.json()
return status
except Exception as err:
print('钉钉发送失败', err)

while True:

try:
if 1: #
remind_time = "2019-09-23 11:55:00" # 提醒时间,注意格式
remind_content = '比特儿IEO, 24日12点还有一个' # 提醒内容
timestamp = int(time.mktime(time.strptime(remind_time, "%Y-%m-%d %H:%M:%S"))) # # 转换成时间数组, 再转换成时间戳,秒级
timestamp1 = int(time.time()) # 当前时间
if timestamp1 > timestamp:
print(remind_content)
send_msg = send_dingding_msg1(remind_content)
print(send_msg)
time.sleep(10)

if 0: # 注意火币HT锁仓了,至少提前2小时解锁
remind_time = "2019-09-18 19:45:00" # 提醒时间
remind_content = '币安IEO交易' # 提醒内容
timestamp = int(time.mktime(time.strptime(remind_time, "%Y-%m-%d %H:%M:%S"))) # # 转换成时间数组, 再转换成时间戳,秒级
timestamp1 = int(time.time()) # 当前时间
if timestamp1 > timestamp:
print(remind_content)
send_msg = send_dingding_msg1(remind_content)
print(send_msg)
time.sleep(10)

except Exception as order_err:
print("查询出错继续尝试", order_err)
time.sleep(1)

—-

编译者/作者:杨卫祥

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...