将1小时添加到java.util.Calendar对象(2015年12月31日23:00:00)将得到2015年1月1日00:00:00
这是我的Java代码将1小时添加到java.util.Calendar对象(2015年12月31日23:00:00)将得到2015年1月1日00:00:00,java,datetime,Java,Datetime,这是我的Java代码 Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT")); c.set(Calendar.YEAR, 2015); c.set(Calendar.MONTH, 11); c.set(Calendar.DAY_OF_MONTH, 31); c.set(Calendar.HOUR_OF_DAY, 22); c.set(Calendar.MINUTE, 0); c.set(Calendar.SECOND, 0)
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
c.set(Calendar.YEAR, 2015);
c.set(Calendar.MONTH, 11);
c.set(Calendar.DAY_OF_MONTH, 31);
c.set(Calendar.HOUR_OF_DAY, 22);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-YYYY HH:mm:ss");
System.out.println("date is : "+sdf.format(c.getTime()));
c.add(Calendar.HOUR_OF_DAY, 1);
System.out.println("date2 is : "+sdf.format(c.getTime()));
这是输出
date is : 31-Dec-2015 23:00:00
date2 is : 01-Jan-2015 00:00:00
为什么第二份打印报表中的年份没有更改为2016年?我尝试了您的代码,它可以根据您的需要工作,但您应该将格式更改为
dd-MMM-yyyy HH:mm:ss
您的代码与输出不匹配。它返回“日期是:2015年12月31日22:00:00”和“日期2是:2015年12月31日23:00:00”非常感谢!那有帮助