天天看点

JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)

第1节 常用类库(下)

六、java.util.Date

Date

类表示特定的时刻,精度为毫秒。

在JDK 1.1之前,

Date

类还有两个附加功能。 它允许将日期解释为年,月,日,小时,分钟和秒值。 它还允许格式化和解析日期字符串。 不幸的是,这些功能的API不适合国际化。 从JDK 1.1开始,

Calendar

类应该用于在日期和时间字段之间进行转换 ,而

DateFormat

类应该用于格式化和解析日期字符串 。 不推荐使用

Date

中的相应方法。

所以

Date

类主要就是表示特定时刻的对象,不具备太多功能。

6.1 构造方法

JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)
JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)

其他的构造方法都已经过时,不用了。

package com.kaikeba.coreclasslibrary.date;

import java.util.Date;

/**
 * 日期和时间:Date
 */
public class Demo {
    public static void main(String[] args) {
        //创建一个当前时间的Date
        Date date = new Date();
        System.out.println(date);
    }
}

结果:
Tue Sep 07 21:44:24 CST 2021

           

println

方法调用了

toString

方法,

Date

toString

方法也已经被重写了,格式就如上所示。

6.2 方法摘要

JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)

最常用的三个方法:

JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)
JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)
JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)

用于获取和设置时间。

可以通过运算来获得一个新的时间。

package com.kaikeba.coreclasslibrary.date;

import java.util.Date;

/**
 * 日期和时间:Date
 */
public class Demo {
    public static void main(String[] args) {
        //创建一个当前时间的Date
        Date date = new Date();
        long time = date.getTime() - (24*60*60*1000);
        Date date2 = new Date(time);
        System.out.println(date);
        System.out.println(date2);
    }
}

结果:
Tue Sep 07 21:54:40 CST 2021
Mon Sep 06 21:54:40 CST 2021

           

七、java.text.DateFormat

DateFormat

是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化和分析日期或时间。

日期/时间格式化子类(例如

SimpleDateFormat

)允许格式化(即,日期→文本),解析(文本“日期”)和规范化。 日期表示为

Date

对象或自1970年1月1日00:00:00 GMT以来的毫秒数。

直接子类:

SimpleDateFormat

SimpleDateFormat

是一个用于以区域设置敏感的方式格式化和解析日期的具体类。 它允许格式化(日期→文本),解析(文本→日期)和规范化。

SimpleDateFormat

允许您从为日期时间格式选择任何用户定义的模式开始。

7.1 日期和时间模式

JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)

例子:

JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)

7.2 构造方法

JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)

比较常用的是指定字符串模式的,例子如下:

package com.kaikeba.coreclasslibrary.dateformat;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Demo {
    public static void main(String[] args) throws ParseException {
        //DateFormat
        /**
         * y    :   年
         * M    :   月
         * d    :   日
         * H    :   时
         * m    :   分
         * s    :   秒
         *
         * 2020年12月12日 12:12:50
         */
        SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
    }
}

           

7.3 方法摘要

JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)
JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)

常用的有两个:

1、

format

方法:将

Date

对象格式化为构建时指定的格式。

String text = format.format(new Date());
System.out.println(text);

结果:
2021年09月07日 22:09:15

           

2、

parse

方法:将满足指定时的格式转换为

Date

对象。

Date date = format.parse("2021年12月12日 12:12:13");
System.out.println(new Date().getTime() - date.getTime());

结果:
-8258577410

           

八、java.util.Calendar

所述

Calendar

类是一个抽象类,可以为在某一特定时刻和一组之间的转换的方法

calendar fields

YEAR

MONTH

DAY_OF_MONTH

HOUR

,等等,以及用于操纵该日历字段,如获取的日期下个星期。 瞬间可以用毫秒值表示,该值是1970年1月1日格林威治标准时间1970年1月1日00:00:00,000(格里高利)的_Epoch_的偏移量。

8.1 新建对象

Calendar

类对象的新建比较特殊,使用

getInstance

方法,如下所示:

8.2 常用方法

所有的方法很多,这里介绍几个常用的:

1、

get

方法:

JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)

Calendar

类中有很多关于年月日、星期等等的字段,可以直接获取:

int year = c1.get(Calendar.YEAR);
int day = c1.get(Calendar.DAY_OF_YEAR);
System.out.println(year);
System.out.println(day);

结果如下:
2021
250

           

2、

set

方法:

JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)
c1.set(Calendar.YEAR, 3000);
System.out.println(c1.get(Calendar.YEAR));

结果:
3000
           

3、

add

方法:

JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)
c1.add(Calendar.YEAR, 1);
System.out.println(c1.get(Calendar.YEAR));

结果如下:
2022
           

4、

getTime

方法:

JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)
Date d = c1.getTime();
System.out.println(d);

结果如下:
Wed Sep 07 22:29:11 CST 2022

           

5、

getActualMaxmum

方法:

JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)

获取某字段的最大最小值,例子如下:

int m = c1.getActualMaximum(Calendar.MONTH);
System.out.println(m);

结果如下:
11        // 注意月份是0-11
           

九、java.lang.System

System

类包含几个有用的类字段和方法。 它无法实例化。

System

类提供的设施包括标准输入,标准输出和错误输出流 ; 访问外部定义的属性和环境变量; 加载文件和库的方法; 以及用于快速复制阵列的一部分的实用方法。

JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)
JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)
JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)
JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)第1节 常用类库(下)

目前看着可能会用到的:

arraycopy

gc

exit

等等。