公司今天提到的需求是:
每日凌晨两点,调用方法,方法的内容是:拉取当前时间的前五天的0点的消息聊天记录
在网上查了好久才找到,现在奉上代码:
long startTime =DateUtil.beginOfDay(DateUtil.offsetDay(new Date(),-5)).getTime();
offsetDay中的数字代表几天,正数代表未来几天,负数代表过去几天,要注意的是,这里获取的是当前时间的前五天的日期,举个例子:假如现在是2023/2/27 14:28,获取到前五天的日期也就是:2023/2/22 14:28 ,但是要求是获取到当前时间前五天日期的0点,我在网上找了一下,找到了这个方法:
long startTime =DateUtil.beginOfDay(DateUtil.offsetDay(new Date(),-5)).getTime();
int startSecond = (int)(startTime/1000);
//获取到当前时间前五天的0点
startSecond+86400
计算一下五天前的现在与当天0点之间的毫秒差,这里因为我是每天凌晨2点调用这个方法,计算出来的毫秒差就是86400,由此可以得出正确的日期;