在java.util。日历中,一月被定义为第0个月,而不是第1个月。这有什么具体原因吗?

我看到很多人对此感到困惑……

我正在构建一个自定义事件系统,如果你有一个重复的事件,看起来像这样:

事件A从2011年3月3日开始每4天重复一次

or

赛事B从2011年3月1日开始,每两周在周二举行一次

我如何将其存储在数据库中,使其易于查找。如果有大量的事件,我不希望出现性能问题,而且在呈现日历时,我必须遍历每一个事件。

有人能建议当前的“最佳实践”围绕日期和日历类型。

在编写新代码时,最好总是使用Calendar而不是Date,还是在某些情况下Date是更合适的数据类型?