zoukankan      html  css  js  c++  java
  • calendar.getActualMaximum(calendar.DAY_OF_MONTH)的问题

    例如:

    在2017.03.29-31号

    新建一个Calendar的単例

    设置年:2017
    设置月:2
    int day = cal.getActualMaximum(Calendar.DAY_OF_MONTH)

    得到日期为:3

    例如:

    在2017.03.01-28号

    新建一个Calendar的単例

    设置年:2017
    设置月:2
    int day = cal.getActualMaximum(Calendar.DAY_OF_MONTH)

    得到日期为:28

    原因:

    Calendar类当你set的时候,并不会立即生效,只有等你get的时候才会生效

    解决方法:

    实例化Calendar之后,执行clear方法,清除Calendar中的缓存

    Calendar calendar=Calendar.getInstance();
    calendar.clear();
    calendar.set(Calendar.YEAR, 2017);
    calendar.set(Calendar.MONTH, 1);
    int firstDay=calendar.getActualMinimum(calendar.DAY_OF_MONTH);
    int lastDay=calendar.getActualMaximum(calendar.DAY_OF_MONTH);
    System.out.println(2+"月第一天是:"+firstDay);
    System.out.println(2+"月最后一天是:"+lastDay);
    calendar.set(Calendar.DAY_OF_MONTH, lastDay);
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    System.out.println(sdf.format(calendar.getTime()));
    
  • 相关阅读:
    多线程的设计模式
    Deque 双端队列
    并发Queue
    并发类容器
    同步类容器
    java0926
    第十二次作业
    第十一次作业
    第十次
    第九次
  • 原文地址:https://www.cnblogs.com/lllini/p/11955189.html
Copyright © 2011-2022 走看看