java日期格式转换,求解,比较急啊
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-mm-dd");Calendarcld=Calendar.getInstanc...
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");
Calendar cld=Calendar.getInstance();
Date exlstrDate=sdf.parse("2015-10-19");
cld.setTime(exlstrDate);
int bb=cld.MONTH;
为什么转换后获取这日期的月份是2呢,怎么才能得到2015-10-19的date日期啊 展开
Calendar cld=Calendar.getInstance();
Date exlstrDate=sdf.parse("2015-10-19");
cld.setTime(exlstrDate);
int bb=cld.MONTH;
为什么转换后获取这日期的月份是2呢,怎么才能得到2015-10-19的date日期啊 展开
4个回答
展开全部
java这个日期格式转化啊,以前那种模式实在是太low了...不好操作,很繁琐,虽然我不知道你这个为啥,不过建议你可以看看java 8新出来的时间日期库,真的是很好用,而且也简单方便,理解起来不来
对于你提到的2015-10-19其实是个日期,不带时间(时分秒的),java 8有一个新的类表示它LocalDate,这个类就是表示日期的
初始化一个LocalDate对象也非常方便
LocalDate localDate = LocalDate.of(2015,10,19);
看吧,完全按照面向对象的思想来创建这个时期对象的
要取其中的月份也很简单
localDate.getMonth()
这样输出的是一个Month对象,直接打印会显示OCTORBER,要是想要数字直接再点getValue即可
localDate.getMonth().getValue()
展开全部
int bb=cld.MONTH;
这句 cld.MONTH 是一个常量
如果要取得月份正确的用法是cld.get();方法,传入cld.MONTH这个常量进去,即
cld.get(Calendar.MONTH);
取得的值范围是0到11,从0开始的
也就是1月份是0,你这里是10月份应该取到的是9
所以,你这程序应该这样改:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");
Calendar cld=Calendar.getInstance();
Date exlstrDate=sdf.parse("2015-10-19");
cld.setTime(exlstrDate);
int bb=cld.get(Calendar.MONTH) + 1;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date exlstrDate = sdf.parse("2015-10-19");
Calendar cld = Calendar.getInstance();
cld.setTime(exlstrDate);
System.out.println(cld.get(Calendar.MONTH) + 1);
Date exlstrDate = sdf.parse("2015-10-19");
Calendar cld = Calendar.getInstance();
cld.setTime(exlstrDate);
System.out.println(cld.get(Calendar.MONTH) + 1);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2016-08-22
展开全部
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");
是(MM)
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
是(MM)
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
追问
谢谢 啊,我改了,可还是输出2呢
追答
取得月份是这样:cld.get(Calendar.MONTH)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询