【Calendar】为什么我的DAT_OF_MONTH输出来的不是当前月份的日期,而是5?
2017-06-19 13:52
323 查看
1.问题:
为什么我的DAT_OF_MONTH输出来的不是当前月份,而是5?2.源代码:
public class TestDemo3_AutoUpClassDayToMonth { public static void main(String[] args) { /*全局变量*/ Date currentDateTime=new Date();/*获取当前时间*/ Calendar calendar = Calendar.getInstance();/*建立日历空日历*/ calendar.setTime(currentDateTime);/*空日历中导入当前时间*/ calendar.add(Calendar.DAY_OF_MONTH,-1);/*取天数为前一天*/ calendar.set(Calendar.HOUR_OF_DAY,23);/*设置时间为23点*/ calendar.set(Calendar.MINUTE,59);/*设置分钟为59分*/ calendar.set(Calendar.SECOND,0);/*设置秒数为0秒*/ calendar.set(Calendar.MILLISECOND,0);/*设置毫秒为0毫秒*/ System.out.println(currentDateTime);/*打印当前时间*/ for (int i=0;i<30;i++){/*从前一天遍历到最近30天*/ int monthDemo=Calendar.DAY_OF_MONTH;/*获取当月天数*/ System.out.println("最近30天:"+monthDemo);/*打印最近30天的天数*/ calendar.add(Calendar.DAY_OF_MONTH,-1);/*每个月的天数往前减1*/ } } }
3.截图:
4.总结:
为什么当前时间是2017年6月19日13:25:23,但是最近30天却都是5?因为:
正确的写法应该是这样的:
输入的结果为:
问题的所在是:
Calendar.DAY_OF_MONTH是一个常量,static;
必须得用calendar.get(Calendar.DAT_OF_MONTH),才能获取正确的值;
相关文章推荐
- 输出当前月份日历(Print a calendar of present month)
- 遇到的问题----java中获取当前月份c.get(Calendar.MONTH)中月份少一个月
- 为什么这段代码打印出来的不是数字,而是地址,链表插入的?
- 遇到的问题----java中获取当前月份c.get(Calendar.MONTH)中月份少一个月
- Calendar 计算某固定日期到当前时间相差的月份
- JAVA中的Calendar得到当前时间的年份、月份、日期
- Andrdoi 如何获得某个月份最后一天(或号数最大那天)的号数?--使用getActualMaximum(Calendar.DAY_OF_MONTH)!
- PHP获取当前日期所在星期(月份)的开始日期与结束日期
- 获取当前月份有多少天以及获取日期各个组成部分
- java.util.Calendar的月份为什么不准
- 计算当前日期为第几周WEEK_OF_YEAR的正确方法
- Flash中进度条为什么不是逐渐变长而是自左向右移动
- 解决用request.getRemoteHost()为什么得到的不是机器名,而是IP地址
- (技巧)获取当前月份第一天的日期
- 移动互联网领域为什么不是P2P或者网格模式,而是云模式
- ruby-china的后台为什么不是用类似Active Admin的gem,而是自己写
- 【气质的培养】气质的培养不是包装出来的,而是修炼出来的。建议大学生们多学习学习。为自己走入职场加点资本。
- 使用Calendar根据当前日期算前一年、前一月、前一天
- php5中date()得出的时间为什么不是当前时间的解决方法
- DOTNETBAR的MonthCalendarAdv 控件指定日期加粗显示的实现