首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >日增量日历

日增量日历
EN

Stack Overflow用户
提问于 2013-11-12 09:00:03
回答 1查看 127关注 0票数 0

当我在日历中增加天数时,我遇到了一个奇怪的问题。我想一年中的每一天都重复一遍。这是我的密码

代码语言:javascript
复制
Date d = null;
SimpleDateFormat textFormat = new SimpleDateFormat("dd-MM-yyyy");
String paramDateAsString = "10-1-2012";
d = textFormat.parse(paramDateAsString);
Calendar cal = Calendar.getInstance(); 
cal.setTime(d);

for(int i = 0; i < 365; i++) {
   cal.add(Calendar.DAY_OF_YEAR, 1);
   System.out.println(cal.get(Calendar.YEAR)+"-"+cal.get(Calendar.MONTH)+1+"-         "+cal.get(Calendar.DAY_OF_MONTH)+" 00:00:00'");
}

我得到了这个输出:

..。 2012-01-29 00:00:00:00 2012-01-30 :00:00:00 2012-01-31 00: 00:00:00‘ 2012-11-1 : 00:00:00‘ 2012-11-2 : 00:00:00‘ ..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-12 09:02:32

这就是问题所在:

代码语言:javascript
复制
"-"+cal.get(Calendar.MONTH)+1

这实际上是在执行字符串连接--它实际上是

代码语言:javascript
复制
("-" + cal.get(Calendar.MONTH)) + 1

因此,当cal.get(Calendar.MONTH)返回1时,实际上是:

代码语言:javascript
复制
("-" + 1) + 1 // which is...
"-1" + 1 // which is...
"-11"

您可以将添加的内容括起来:

代码语言:javascript
复制
"-" + (cal.get(Calendar.MONTH) + 1)

..。但是最好使用SimpleDateFormat来执行格式化,而不是手动执行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19924837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档