需求:
需要做一个功能,每天早上8点以后查询第二天到期的服务(会员,服务等)给用户推送提示
分析:
1、如果使用mysql查询语句应该是这样的:
select * from table_name where start_time < time <end_time;
2、但是这个起始时间该怎么获取呢?而且程序是每天定时执行的,所以是不可能写死这个具体的起始时间。
3、因为起始时间是不确定的,但可以获取当前时间的时间戳,那么是不是就可以在这个方面入手?
4、获取到每天的时间戳,但我们要的是第二天的起始时间,因为一天的时间是86400秒,今天的时间加上86400
是不是就是第二天的时间了?
5、但是每天获取到的时间戳是不固定的,所以需要进行一个转换。
实现方法:
1、先获取当前时间戳(一天以内随意时间段)
2、将时间戳转换为格式日期时间,如:1604364287 =>2020-11-03
3、再将日期拼接为标准格式时间:2020-11-03_00:00:00 2020-11-03_23:59:59 2020-11-03_21:59:59
4、再把格式日期字符转换为时间戳:1604332800。
5、再把转换过来的时间戳加上或减去一天(86400)即可获取前一天或后一天指定的时间戳了。
6、由以上引伸出来,就可以获取任意一天任意指定时刻的时间戳了。
代码示例:
package
结果:
![3f61aa625787a5603ab410e823a532e4.png](https://i-blog.csdnimg.cn/blog_migrate/07ce1c2b05285aac95aedff261ccee7c.png)