JAVA:int month = n.get(Calendar.MONTH)+1;为何要加1?

importjava.util.*;publicclassDateClass{publicstaticvoidmain(Stringargs[]){Datem=newDa... import java.util.*;
public class DateClass
{
public static void main(String args[ ])
{
Date m = new Date( );
System.out.println("现在是:"+m.toString( ));
Calendar n = Calendar.getInstance( );
int year = n.get(Calendar.YEAR);
int month = n.get(Calendar.MONTH)+1;
int day = n.get(Calendar.DATE);
int week = n.get(Calendar.DAY_OF_WEEK)-1;
Date t = n.getTime ( );
String week1 = new String("日一二三四五六");
String week2=week1.substring(week, week+1);
String x = new String( );
x = "现在是:"+year+"年"+month+"月"+day+"日,星期"+week2;
System.out.println("现在是:"+t);
System.out.println(x);
}
}
详细问题:为什么定义month和week时要加1和减1?而定义day时不用啊?substring(week, week+1)具体啥意思啊?
偶是个新手,问题有些笨,还希望不吝赐教啊!!!
展开
 我来答
百度网友e9cda73
2007-12-20 · TA获得超过5099个赞
知道小有建树答主
回答量:454
采纳率:50%
帮助的人:332万
展开全部
有的域是以0开始的有的不是
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
抗裕慎雪晴
2019-10-13 · TA获得超过3922个赞
知道大有可为答主
回答量:3132
采纳率:24%
帮助的人:435万
展开全部
你好!
有的域是以0开始的有的不是
我的回答你还满意吗~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
I漫步天堂I
2007-12-20 · 超过72用户采纳过TA的回答
知道小有建树答主
回答量:573
采纳率:0%
帮助的人:0
展开全部
Calendar.MONTH的初始值应该是0啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3ede449
推荐于2018-04-05 · TA获得超过364个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:193万
展开全部
MONTH加1的原因:
public static final int MONTH
指示月份的 get 和 set 的字段数字。这是一个特定于日历的值。在格里高利历和罗马儒略历中一年中的第一个月是 JANUARY,它为 0;最后一个月取决于一年中的月份数。
简单来说,因为这个值的初始值是0,因此我们要用它来表示正确的月份时就需要加1。
WEEK减1的原因:
public static final int DAY_OF_WEEK
get 和 set 的字段数字,指示一个星期中的某天。该字段可取的值为 SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY 和 SATURDAY
观察代码,你会发现其实week是用来确定随后的字符串week1该如何截取的,我们知道DAY_OF_WEEK是获取当前日期是一周中的第几天,而一周从周日算起,因此当我们取得这个值之后,为了要正确的截取出随后的字符串week1中的那个中文字符,因此它需要减1来达到目的。你只要跟踪一下程序运行,观察变量的赋值就会理解它这样编写的用意了。
定义day时不用的原因:
public static final int DATE
get 和 set 的字段数字,指示一个月中的某天。它与 DAY_OF_MONTH 是同义词。一个月中第一天的值为 1。
根据定义我们可以知道,这个值取得后不需要做任何变更就是程序需要的值。
substring(week, week+1):
public String substring(int beginIndex,
int endIndex)
返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。
根据定义,我们就知道这个方法的用途了。举例来说,假如今天是星期四,那么之前获得的week的值就是4,因为我们取到了DAY_OF_WEEK(这里是5)后又减了1,然后我们用这个变量week来帮助我们截取字符串week1,这里调用了substring(4,5),所以取到的字符就是“四,正是我们需要的字符。

参考资料: JDK1.5

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式