如何通过比较日期来生成电子邮件警报

How to generate Email alert by comparing dates?

本文关键字:电子邮件 何通过 比较 日期      更新时间:2023-09-26

我制作了一个运行在apache tomcat上的web应用程序,并使用JSP编码。它使用jdbc连接到mysql数据库,从web界面

输入/操作值。

我现在想比较当前日期与一列称为到期日期在mysql数据库。如果在比较当前日期和数据库中的所有到期日时,发现其中任何一个到期日相差30天,则应生成电子邮件警报(将关于到期日的电子邮件发送到预定义的电子邮件地址)

我已经将mysql中的日期存储为varchar()类型,因为我使用日期类型有一些问题。

我怎样才能做到这一点?我希望这段代码应该每天运行一次,检查数据库中是否有日期过期

您正在寻找cron作业,您可以在这里看到一个示例http://makdns.blogspot.com/2011/02/java-servlet-cron-job-thoruhg-tomcat.html

你首先创建一个作业,它实际上是一个java类文件,做你的业务,它应该从数据库中获取所有的记录,比较日期和发送电子邮件;接下来,您必须设置cronjob选项,以便每天或每周重新运行该作业。这取决于你的应用的大小。

你应该搜索cron jobs, cron tasks关键字来获取更多信息。

编辑您可以解析并创建date对象,如

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); // or whatever format you have
Date dateFromDB = sdf.parse("String from your date column in database");
Date now = new Date();
if(now.getTime() - dateFromDB.getTime() > 30 x 24 x 3600 x 1000) {
    // TODO alert email
}