简单说就是做连续签到的功能。
如果用13位时间戳转化为日期相减得1来判断的话,又无法考虑到跨月的情况。
就是这个跨月的情况要怎么判断连续,求大佬指点!
2 个赞
直接比较时间戳。
转换为时间日期格式是比较方便人看的。
时间戳更方便运算,
2 个赞
但是应该用什么方式来比较时间戳呢
2 个赞
首先 百度一下
时间戳_百度百科 (baidu.com)
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数-10位时间戳
用时间戳减去8小时的秒数,就得到了从北京时间1970年01月01日0时00分00秒起至现在的总秒数。
然后除于一天的秒数,取商,就得到了从北京时间1970年01月01日0时00分00秒起至现在的总天数。
3 个赞
明白了,谢谢!
1 个赞
感谢大佬的提点,我构思出了另一个解决办法,其实原理也差不多。
我的想法是,获取当前签到的13位时间戳,然后减去86400000(也就是一天的毫秒数60x60x24x1000),然后再转化成yyyymmdd。这个结果和前一次签到的yyyymmdd做比较,如果相等就是连续签到。
附图:
再附上Blockly的导入代码:
插件名称: 检测连续签到插件
导出时间: 2024/6/28 00:37:11
-=-=-=-=--=-=-=-=- BEGIN KOISHI BLOCKLY BLOCK V1 -=-=--=-=-=--=-=--=-=-=-
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
bEhyHwAA
-=-=--=-=-=--=-=-=-=- END KOISHI BLOCKLY BLOCK V1 -=-=--=-=-=--=-=--=-=-=-
2 个赞
我认为给出的解决方法是错误的, 只有在连续两天的同一时间签到, 新旧时间戳的差值才是一天的毫秒数. 例如一个人在8.18的23: 00签到, 在8.19的1: 00再次签到, 此时应该是连续签到, 但是差值明显不是86400000.
3 个赞
挠头???
他是用现在的时间戳,减去一天的毫秒数。再转换为yyyymmdd的时间日期,来获得前一天的年月日。再与上一次签到的年月日比较,来看是不是同一天。
比较的是年月日,不是时间戳差。
看日期是否连续,几点几分明显是无用信息。
删掉就行了。不用考虑
4 个赞