JAVA 调度程序模式:如何检查当前日期时间是否与模式匹配

发布于 2024-11-17 11:01:57 字数 294 浏览 2 评论 0原文

我想知道如何在 JAVA 中对日期时间进行一些模式匹配。我有一个数据库,其中有一些需要安排的条目。

基本上,我有一个每 30 分钟运行一次的程序。在这个程序中(我拥有代码),如果当前日期/时间与记录的调度程序匹配,我想对字段(尚不存在)上的数据库记录进行检查。

调度程序选项的示例应该类似于: - 每天+指定时间 - 每周+指定时间 - 每月+指定时间 - 每个星期一或星期二或星期三或...在给定时间

我应该如何存储调度程序模式值(字符串,日期时间,?)并在我的JAVA代码中进行比较以查看它是否匹配?

谢谢

I'm wondering how to do some pattern matching in JAVA for date time. I have a database which has some entries that need to be scheduled.

Basically, I have a program that runs each 30 minutes. Inside this program (I own the code) I want to do a check against the database records on a field (non existent yet) if the current date / time matches the record's scheduler.

Examples of scheduler option should be something like:
- daily + given hour
- weekly + given hour
- monthly + given hour
- each Monday or Tuesday or Wednesday or ... at given hour

How should I store the scheduler pattern value (string, datetime, ?) and do the comparison inside my JAVA code to see if it matches?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

像你 2024-11-24 11:01:57

RFC 2445 对于处理调度和重复应该很有用。这是一个 Java 库 http://code.google.com/p/google-rfc -2445/

您可以将重复规则存储为 RRULE 格式的文本,然后使用库对其进行解析以计算下一个重复日期/时间。

以相反的方式更改应用程序逻辑也应该很有用 - 在特定的计算时间安排执行,而不是每 30 分钟执行一次,尝试将当前时间与重复模式匹配。

RFC 2445 should be useful to deal witch scheduling and recurrence. Here is a java library http://code.google.com/p/google-rfc-2445/.

You could store recurrence rules as a text in RRULE format, then parse it with the library to calculate the next recurrence date/time.

It should also be useful to change the app logic the other way around - to schedule execution at the specific calculated time, not to execute every 30 minutes trying to match the current time with recurrence patterns.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文