常用類庫
阿新 • • 發佈:2021-01-08
常用類庫
注: 筆記複習
Date類
Date類表示特定的時刻,精度為毫秒。
構造方法
構造器 | 描述 |
---|---|
Date() | 分配 Date物件並對其進行初始化,使其表示分配時間,測量 Date到毫秒。 |
Date(long date) | 分配 Date物件並初始化它以表示自標準基準時間(稱為“紀元”)以來的指定毫秒數,即1970年1月1日00:00:00 GMT。 |
//建立一個當前時間的Date
Date date = new Date( );
//當前時間一小時前的時間
long time = date.getTime()-(1*60*60*1000);
Date date2 = new Date(time);
System.out.println(date);
System.out.println(date2);
import java.util.Date;
/*
* 時間和日期類
* java.util.Date
*
* 毫秒概念: 1000毫秒=1秒
*
* 毫秒的0點:
* System.currentTimeMillis() 返回值long型別引數
* 獲取當前日期的毫秒值 3742769374405
* 時間原點: 公元1970年1月1日,午夜0:00:00 英國格林威治 毫秒值就是0
* 時間2088年8月8日
*
* 重要: 時間和日期的計算,必須依賴毫秒值
* XXX-XXX-XX = 毫秒
*
* long time = System.currentTimeMillis();
System.out.println(time);
*/
public class DateDemo {
public static void main(String[] args) {
function_3();
}
/*
* Date類方法 setTime(long )傳遞毫秒值
* 將日期物件,設定到指定毫秒值上
* 毫秒值轉成日期物件
* Date的構造方法
*/
public static void function_3(){
Date date = new Date();
System.out.println(date);
date.setTime(0);
System.out.println (date);
}
/*
* Date類方法 getTime() 返回值long
* 返回的是毫秒值
* 將Date表示的日期,轉成毫秒值
* 日期和毫秒值轉換
*/
public static void function_2(){
Date date = new Date();
long time = date.getTime();
System.out.println(time);
}
/*
* Date類的long引數的構造方法
* Date(long ) 表示毫秒值
* 傳遞毫秒值,將毫秒值轉成對應的日期物件
*/
public static void function_1(){
Date date = new Date(0);
System.out.println(date);
}
/*
* Date類空引數構造方法
* 獲取到的是,當前作業系統中的時間和日期
*/
public static void function(){
Date date = new Date();
System.out.println(date);
}
}
方法摘要
變數和型別 | 方法 | 描述 |
---|---|---|
long | getTime() | 返回自此 Date物件表示的1970年1月1日00:00:00 GMT以來的毫秒數。 |
void | setTime(long time) | 將此 Date物件設定為表示格林尼治標準時間1970年1月1日00:00:00之後的 time毫秒的時間點。 |
boolean | after(Date when) | 測試此日期是否在指定日期之後。 |
boolean | after(Date when) | 測試此日期是否在指定日期之前。 |
DateFormate類
DateFormat是抽象類,我們需要使用其子類SimpleDateFormat來建立物件。
構造方法
構造器 | 描述 |
---|---|
SimpleDateFormat() | 構造一個 SimpleDateFormat使用預設模式和日期格式符號預設 FORMAT區域設定。 |
SimpleDateFormat(String pattern) | 構造一個 SimpleDateFormat使用給定的模式和預設的預設日期格式符號 FORMAT區域設定。 |
對日期進行格式化 (自定義)
- 對日期格式化的類 java.text.DateFormat 抽象類, 普通方法,也有抽象的方法
- 實際使用是子類 java.text.SimpleDateFormat 可以使用父類普通方法,重寫了抽象方法
public class SimpleDateFormatDemo {
public static void main(String[] args) {
function();
}
/*
* 如何對日期格式化
* 步驟:
* 1. 建立SimpleDateFormat物件
* 在類構造方法中,寫入字串的日期格式 (自己定義)
* 2. SimpleDateFormat呼叫方法format對日期進行格式化
* String format(Date date) 傳遞日期物件,返回字串
* 日期模式:
* yyyy 年份
* MM 月份
* dd 月中的天數
* HH 0-23小時
* mm 小時中的分鐘
* ss 秒
* yyyy年MM月dd日 HH點mm分鐘ss秒 漢字修改,: - 字母表示的每個欄位不可以隨便寫
*/
public static void function(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH點mm分鐘ss秒");
String date = sdf.format(new Date());
System.out.println(date);
}
}
//執行結果: 2021年01月08日 01點08分鐘04秒
DateFormat類方法 parse
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
* DateFormat類方法 parse
* 將字串解析為日期物件
* Date parse(String s) 字串變成日期物件
* String => Date parse
* Date => String format
*
*/
public class SimpleDateFormatDemo1 {
public static void main(String[] args) throws Exception{
function();
}
/*
* 將字串轉成Date物件
* DateFormat類方法 parse
* 步驟:
* 1. 建立SimpleDateFormat的物件
* 構造方法中,指定日期模式
* 2. 子類物件,呼叫方法 parse 傳遞String,返回Date
*
* 注意: 時間和日期的模式yyyy-MM-dd, 必須和字串中的時間日期匹配
* 1995-5-6
*
* 但是,日期是使用者鍵盤輸入, 日期根本不能輸入
* 使用者選擇的形式
*/
public static void function() throws Exception{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse("1995-5-6");
System.out.println(date);
}
}
//執行結果: Sat May 06 00:00:00 CST 1995