Subtract java.util.Date with Integer



我需要从数据库中删除一些记录。在表中,我有一列包含Date(java.util.Date(记录。例如,我需要从表中获取超过x小时的行。我的函数有一个int Y,它应该是秒。我需要做这样的东西。Date(currentDate(-Y。然后进行查询,将该列与计算进行比较。有什么建议吗?

首先,如果您使用java 8或更高版本,我强烈建议您不要使用过时的类java.util.Date,并切换到包java.time。您可以使用类CCD_;兄弟;例如CCD_ 4或其它。

但是,在这里回答你的问题是如何从Date类中减去秒:

Date date = new Date(); //Current date
long seconds = 100L; // 100 seconds to substruct
date.setTime(date.getTime() - seconds * 1000); //convert seconds to milliseconds and substruct it from current value of date

我用这个函数解决了这个问题。我希望能对某人有所帮助。

private Date calculateTheDate(final int seconds){
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.SECOND, - seconds);
return calendar.getTime();
}

最新更新