天天看點

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

等等。