Date類
1.毫秒值的概念和作用
/*
java.util.Date類:用于描述日期和時間的類
類 Date 表示特定的瞬間,精確到毫秒。
1秒 = 1000毫秒
1 天 = 24 × 60 × 60 = 86400 秒*1000 = 86400000毫秒
--------------------------------------------------------------
時間原點:0毫秒的時間
1970 年 1 月 1 日 00:00:00 英國格林威治時間(世界標準時間)
中國:東八區 時間+8個小時的時差
1970 年 1 月 1 日 08:00:00
可以把日期和時間轉換為毫秒值:就是時間原點和當前時間的一個差值
例如時間(2020年02月04日11:36:28)-時間原點(1970 年 1 月 1 日 00:00:00)= 日期和時間轉換為了毫秒值(1574132468346)
---------------------------------------------
毫秒值作用: 對時間進行計算
作業:計算兩個時間的差值,把時間轉換為毫秒值計算
"2019年11月19日11:00:28"-"2018年10月19日11:00:28" = 沒法計算
1574132468346 - 15741222468346 = 234234111毫秒值==>轉換為時間(234234111毫秒值/1000/60/60/24)天
*/
public class Demo01Date{
public static void mian(String[] args){
System.out.println(System.currentTimeMills());
}
}
2.Date類的構造方法和成員方法
/*
java.util.Date類
構造方法:
Date() 重點
Date(long date)
成員方法:
long getTime() 重點
回傳自 1970 年 1 月 1 日 00:00:00 GMT 以來此 Date 物件表示的毫秒數。
void setTime(long time)
設定此 Date 物件,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的時間點。
*/
public class Demo01Date{
public static void main(String[] args){
//show01();
//show02();
//show03();
show04();
}
/*
Date類的成員方法
void setTime(long time) 傳遞毫秒值,把毫秒值轉換為Date日期
此方法相當于Date類的帶引數構造方法
Date(long date) 傳遞毫秒值,把毫秒值轉換為Date日期
*/
private static void show04(){
Date date = new Date();
date.setTime(0L);
System.out.println(date); //Thu Jan 01 08:00:00 CST 1970
}
/*
Date類的成員方法
long getTime() 把日期轉換為毫秒值(當前時間和時間原點之間共經歷了多少毫秒)
*/
private static void show03() {
Date date = new Date();
long time = date.getTime();
System.out.println(time);//1619364584395
System.out.println(System.currentTimeMillis()); //1619364661226
}
/*
Date類的帶引數構造方法:
` Date(long date) 傳遞毫秒值,把毫秒值轉換為Date日期
注意:
在時間和日期相關的類中,long型別的值就是毫秒值
*/
private static void show02() {
Date d1 = new Date(0L);
System.out.println(d1); //Sun Apr 25 23:36:24 CST 2021
d1 = new Date(12345L);
System.out.println(d1);// Thu Jan 01 08:00:12 CST 1970
}
/*
Date類的空引數構造方法:
Date() 獲取當前系統的日期和時間
CST:中國標準時間(北京|上海)
*/
private static void show01() {
Date date = new Date();
System.out.println(date);//Sun Apr 25 23:36:24 CST 2021
}
}
5.DateFormat類
java.text.DateFormat類 extends Format
DateFormat 是日期/時間格式化子類的抽象類==>是Format類的子類,還是一個抽象類(無法創建物件)
作用:
格式化(也就是日期 -> 文本)
決議(文本-> 日期)
成員方法:
String format(Date date) 根據指定的模式,把日期格式化為符合模式的字串
Date parse(String source) 把符合模式的字串決議為日期
-------------------------------------------
DateFormat是一個抽象類,無法直接創建物件使用,需要使用DateFormat的子類
java.text.SimpleDateFormat extends DateFormat
構造方法:
SimpleDateFormat(String pattern)
用給定的模式和默認語言環境的日期格式符號構造 SimpleDateFormat。
引數:
String pattern:傳遞日期和時間的模式
在模式中寫y代表年
在模式中寫M代表月
在模式中寫d代表日
在模式中寫H代表時
在模式中寫m代表分
在模式中寫s代表秒
"yyyy-MM-dd HH:mm:ss"
"yyyy/MM/dd HH/ss"
"yyyy年MM月dd日 HH時mm分ss秒"
注意:
表示模式的字母不能改變(y,M...),字母的連接符號可以隨意寫
public class Demo01DateFormat {
public static void main(String[] args) /*throws ParseException*/ {
show02();
}
/*
Date parse(String source) 把符合模式的字串決議為日期
實作步驟:
1.創建SimpleDateFormat物件,構造方法中傳入指定的模式
2.呼叫SimpleDateFormat物件中的方法parse,把符合模式的字串決議為日期
*/
private static void show02() /*throws ParseException*/ {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
/*
public Date parse(String source) throws ParseException
parse方法拋出了決議例外ParseException
當傳遞的字串和模式不匹配的時候,就會拋出此例外
呼叫了一個拋出例外的方法,有兩種處理方式:要么throws繼續拋出,要么try...catch處理
alt+回車
*/
Date date = null;
try {
date = sdf.parse("2000/01-01");
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(date);
}
/*
String format(Date date) 根據指定的模式,把日期格式化為符合模式的字串
實作步驟:
1.創建SimpleDateFormat物件,構造方法中傳入指定的模式
2.呼叫SimpleDateFormat物件中的方法format,根據構造方法中傳入的模式,把日期格式化為符合模式的字串
*/
private static void show01() {
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH時mm分ss秒");
SimpleDateFormat sdf = new SimpleDateFormat("yy年M月d日 H時m分s秒");//21年04269日 00時39分02秒
Date date = new Date();//Mon Apr 26 00:39:14 CST 2021
System.out.println(date);
String s = sdf.format(date);
System.out.println(s);//2021-04-26 00:39:14
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/280099.html
標籤:Java相關
上一篇:halo.密碼忘了怎么弄
