问答详情
源自:3-7 Calendar 类的应用

为什么Date方法和Calendar的时间中的月份不一样啊,为什么Calendar月份不对呀,求帮助

package shijian;

import java.util.*;

import java.text.*;

public class time {


public static void main(String[] args) {

// TODO 自动生成的方法存根


Date d=new Date();

SimpleDateFormat tim=new SimpleDateFormat("yyyy年-MM月-dd日  HH时-mm分-ss秒");

String today=tim.format(d);

System.out.println(today);

String today1="2020年-05月-29日  23时-34分-12秒";

SimpleDateFormat tim1=new SimpleDateFormat("yyyy年-MM月-dd日  HH时-mm分-ss秒");

try {

Date a=tim1.parse(today1);

System.out.println("当前时间为:"+a);

} catch (ParseException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

Calendar c=Calendar.getInstance();

int year=c.get(Calendar.YEAR);

int month=c.get(Calendar.MONTH);

int day=c.get(Calendar.DAY_OF_MONTH);

int hour=c.get(Calendar.HOUR_OF_DAY);

int minute=c.get(Calendar.MINUTE);

int second=c.get(Calendar.SECOND);

System.out.println("当前时间为:"+year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second);

}


}

Date中的是准确的月份,Calendar中的月份为啥是4月呀

http://img2.mukewang.com/5ed1305d0001d69306870192.jpg

提问者:慕用8157017 2020-05-29 23:56

个回答

  • 慕前端1278149
    2020-06-03 11:22:30

    在Calendar类中调用的Calendar.MONTH属性他的计算方式为:从一年中的第一个月 JANUARY为 0开始计算,你要的月份,其实就要Calendar.MONTH+1