java - 在Java中使用Calendar的add()方法添加超过30天

标签 java calendar

当向 Java 日历对象添加超过 30 天时,我不太确定要使用哪个字段。 Calendar.DAY_OF_MONTHCalendar.DAY_OF_YEAR 之间有什么区别吗?

例子:

GregorianCalendar d = new GregorianCalendar();
d.add(Calendar.DAY_OF_YEAR, 90);

对比

GregorianCalendar d = new GregorianCalendar();
d.add(Calendar.DAY_OF_MONTH, 90);

谢谢。

最佳答案

我不认为调用 add 有什么不同。当您调用 getter 时,区别很重要。

这两种方法都可以,对吧?超过 30 天,以及负数。

GregorianCalendar#add 的(公认的复杂)源代码包含以下部分:

 case DAY_OF_MONTH: // synonym of DATE
 case DAY_OF_YEAR:
 case DAY_OF_WEEK:
    break;

关于java - 在Java中使用Calendar的add()方法添加超过30天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2506082/

相关文章:

java - 显示错误的日期(java.util.Calendar)

calendar - 如何发送添加日历事件(非邀请)的电子邮件?

iphone - 将数据添加到日历不起作用

java - 如何在本地运行 DropWizard/Jersey 服务器而无需重新启动和重新打包以获取 Assets 文件更新?

java - 通过搜索引用java删除节点

android - 在 Android sdk 警报管理器中的选定日期重复计划任务

java - Java 新手 - 需要让这个数组工作...不知道如何 :(

java - 用双引号对字符串进行子串的正则表达式

java - 减少或减少Map框架中的映射器

java - Maven发布插件: Where Is It Getting It's Version From?