• Calendar的使用注意


    一、Calendar和GregorianCalendar的关系

      GregorianCalendar的一点:

    // 初始化 Gregorian 日历
          // 使用当前时间和日期
          // 默认为本地时间和时区 
          GregorianCalendar gcalendar = new GregorianCalendar();
          // 显示当前时间和日期的信息 
          System.out.print("Date: ");
          System.out.print(months[gcalendar.get(Calendar.MONTH)]);
          System.out.print(" " + gcalendar.get(Calendar.DATE) + " ");
          System.out.println(year = gcalendar.get(Calendar.YEAR));
          System.out.print("Time: ");
          System.out.print(gcalendar.get(Calendar.HOUR) + ":");
          System.out.print(gcalendar.get(Calendar.MINUTE) + ":");
          System.out.println(gcalendar.get(Calendar.SECOND));
          
          // 测试当前年份是否为闰年 
          if(gcalendar.isLeapYear(year)) {
             System.out.println("当前年份是闰年");
          }
          else {
             System.out.println("当前年份不是闰年");
          } 

    二、 Calendar的使用注意事项

      Java Calendar类月份从零开始计算,故使用Calendar类时,其中的MONTH为实际月份-1。为了显示正确,如果大兄弟你这样作了,那就错了。看代码,你是否犯了这样的错。为了显示正确,直接用set()方法让month+1【笑哭】。

    1 public String getDayTime(Calendar calendar) {
    2         int year = calendar.get(Calendar.YEAR);
    3         int month = calendar.get(Calendar.MONTH);
    4         int day = calendar.get(Calendar.DATE);
    5         calendar.set(year, month + 1, day + 1);
    6         month = calendar.get(Calendar.MONTH);
    7         day = calendar.get(Calendar.DATE);
    8         return "(" + month + "月" + day + ")";
    9     }

    正确做法:

     1  /**
     2      * 获取当前时间一天以后的时间
     3      */
     4     public static String getAfterDayTime() {
     5         Calendar calendar = Calendar.getInstance();
     6         calendar.setTime(new Date());
     7         int day = calendar.get(Calendar.DATE);
     8         calendar.set(Calendar.DATE, day + 1);
     9         int month = calendar.get(Calendar.MONTH);
    10         day = calendar.get(Calendar.DAY_OF_MONTH);
    11         return "(" + (month + 1) + "月" + day + ")";//只要在结果上给month加1,这样显示就正确了
    12     }
  • 相关阅读:
    vmware vSphere client中,选择文件->部署OVF模板,报错处理方法
    [POJ 1521]--Entropy(哈夫曼树)
    [HDU 1016]--Prime Ring Problem(回溯)
    [HDU 2553]--N皇后问题(回溯)/N皇后问题的分析
    平面最近点对问题(分治)
    [GDUT 决赛]--GCD,LCM——我是好人(数论)
    [HDU 1428]--漫步校园(记忆化搜索)
    [Swust OJ 643]--行列式的计算(上三角行列式变换)
    [Swust OJ 491]--分数的位置(简单版)
    [Swust OJ 465]--吴奶奶买鱼(0-1背包+dfs)
  • 原文地址:https://www.cnblogs.com/aimqqroad-13/p/7099507.html
Copyright © 2020-2023  润新知