[javaSE笔记7]Date, DateFormat, Calendar类

Date类

java.util.Date

Date表示特定的时间, 精确到毫秒

时间原点 ( 0m ) : 1970年1月1日 00:00

构造方法

空参构造方法 : 获取当前系统的日期和时间

Date date = new Date();

带参数构造方法 :

Date ( long date ) : 传递毫秒值, 把毫秒值转换为日期

Date date = new Date(0);
System.out.println(date);

// 输出Thu Jan 01 08:00:00 CST 1970

成员方法

getTime()

把日期转换为毫秒

DateFormat类

java.text.DateFormat类是日期/时间格式化子类的抽象类

可以完成日期和文本之间的转换

构造和成员方法

String format(Date date) : 按照指定的模式把Date日期格式化为符合模式的字符串

Date parse(String source) : 把符合模式的字符串解析为Date日期

DateFormat类是一个抽象类, 无法直接创建对象使用, 可以使用DateFormat的子类 : java.text.SimpleDateFormat

SimpleDateFormat的构造方法 :

SimpleDateFormat(String pattern) : 用指定的模式和默认语言环境的日期格式符号构造SimpleDateFormat

常用的格式规则 :

字母 含义
y
M
d
H
m
s

SimpleDateFormat的format和parse方法

format :

  1. 创建SimpleDateFormat对象并在构造方法中传递指定的模式
  2. 使用format方法把Date转换为符合模式的字符串

e.g.

Date date =  new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = sdf.format(date);
System.out.println(format);

// 输出 : 2020-06-25 08:34:48

parse :

  1. 创建SimpleDateFormat对象并在构造方法中传递指定的模式
  2. 使用parse方法把符合模式的字符串解析为Date日期

注意 : parse方法声明了一ParseException解析异常, 如果字符串和构造方法中的模式不一样程序就会抛出此异常

e.g.

        String text = "2020-06-25 08:34:48";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = sdf.parse(text);
        System.out.println(date);
        System.out.println(date.getTime());

/* 输出 : 
Thu Jun 25 08:34:48 CST 2020
1593045288000
*/

Calendar类

Java.util.Calendar

Calendar类是一个抽象类, 里面提供了很多操作日历字段的方法 ( YEAR, MONTH, DAY_OF_MONTH. HOUR ...)

Calendar类无法直接创建对象使用, 里面有一个静态方法getInstance(), 该方法返回了Calendar类的子类对象

Calendar类的常用成员方法

  1. public int get(int field) : 返回给定日历字段的值

  2. public void set(int field, int value) : 将给定日历字段设置为给定值

  3. public abstract void add(int field, int amount) : 根据日历的规则, 为给定的日历字段添加或减去指定的时间量

  4. public Date getTime() : 返回一个表示此Calendar时间值的Date对象

其中的int field 是日历字段如YEAR, MONTH...可直接用Calendar.YEAR....获取

  • get的使用 :

e.g.

        Calendar c = Calendar.getInstance();
        System.out.println(c.get(Calendar.YEAR)); // 2020
        System.out.println(c.get(Calendar.DATE)); // 25 
  • set和getTime的使用 :

e.g.

 		Calendar c = Calendar.getInstance();
        c.set(2000,8,7);
        Date date = c.getTime();

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

        System.out.println(sdf.format(date));

// 2000-09-07
  • add的使用 :

e.g.

        Calendar c = Calendar.getInstance();
        c.set(2000,8,7);
        c.add(Calendar.YEAR,-1); //2000 -- 1999
        Date date = c.getTime();

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

        System.out.println(sdf.format(date));

// 1999-09-07
posted @ 2020-06-25 09:30  roccoshi  阅读(100)  评论(0编辑  收藏  举报