第十四节下篇:日期相关类(个人总结)

来源:互联网 发布:c语言韩信点兵算法 编辑:程序博客网 时间:2024/06/03 22:48

Date类

  • 用途一:Date类中的方法基本上都已经过时,被Calendar类所替代,不过它也有其比较方便的地方,例如获取当前日期并以字符串的形式输出:
  • SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");String s = sdf.format(new Date());  //new Date() 即为获取当前时间System.out.println(s);
  • 用途二:由于SimpleDateFormat类无法对Calendar的子类对象进行格式化,因此此时必须借助Date类对象作为载体来完成数据格式的转换.

SimpleDateFormat类

  • 主要用来对日期进行格式化
    • 将日期格式为字符串:
      • SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");String s = sdf.format(new Date());System.out.println(s);
    • 将字符串格式化为日期:
      • SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Date date = sdf.parse("2016-09-07");

Calendar类

  • 此类如今是日期类型操作中的重头戏
  • 其中包含的静态常量所对应的日期信息(注意:必须要经过对象.get(Calendar.静态常量)后才能获取静态常量所代表具体的日期)
  • Date date = sdf.parse("2016-09-07");Calendar is = Calendar.getInstance();is.setTime(date);
    • Calendar.YEAR 代表当前Calendar子类对象的当前年份 is.get(Calendar.YEAR)值为2016
    • Calendar.DAYOFYEAR 代表当前Calendar子类对象的当前年份的第几天 is.get(Calendar.DAYOFYEAR)值为251
    • Calendar.MONTH 代表当前Calendar子类对象的当前月份 (is.get(Calendar.MONTH))+1 值为9,因为month是从零开始,所以直接获取的值会比实际月份少一个月,所以要进行加一操作.
    • Calendar.DAYOFMONTH 代表当前Calendar子类对象的当前月的当前日期号 is.get(Calendar.DAYOFMONTH) 值为7
    • Calendar.DATE 代表当前Calendar子类对象的当前月的当前日期号 is.get(Calendar.DATE) 值为7 因此其与Calendar.DAYOFMONTH获取值是相同的
    • Calendar.DAYOFWEEK 代表当前Calendar子类对象的当前星期的第几天,因为按照美国时间来的,而美国周日为一周的第一天,因此当获取星期的时候要处理一下 is.get(Calendar.DAYOFWEEK) 值为4
  • Calendar类中需要掌握的两个方法:

    • public void add(int field,int amount)

      is.add(Calendar.DATE, -1);//对当前日期对象进行操作,可以对其分别进行年份,月份等等加减操作.
    • public final void set(int year,int month,int date)

      is.set(is.get(Calendar.YEAR), is.get(Calendar.MONTH), 1);//直接对日期对象内的属性进行设置.
0 0
原创粉丝点击