日期操作類(Date 、Calendar 、DateFormat 、SimpleDateFormat)



一 、Date 類:獲取系統當前日期

import java.util.Date;

public class DateDemo01 {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date);
    }
}

程序運行結果:
在這裏插入圖片描述
要想獲得按照所需要的日期格式顯示,可以使用Calendar類完成


二 、Calendar類:按需獲取日期格式

import java.util.Calendar;
import java.util.GregorianCalendar;

public class DateDemo02 {
    public static void main(String[] args) {
        Calendar calendar = new GregorianCalendar();	// 實例化Calendar類對象
        System.out.println("YEAR: " + calendar.get(Calendar.YEAR));  //年
        System.out.println("MONTH: " + (calendar.get(Calendar.MONTH) + 1));  //月
        System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));  //日
        System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));  //時
        System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));  //分
        System.out.println("SECOND: " + calendar.get(Calendar.SECOND));  //秒
        System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));  //毫秒
    }
}

程序運行結果:
在這裏插入圖片描述
以上程序雖然取得了時間,但代碼比較複雜,Java中提供了其它日期的類



三 、DateFormat類

1 、默認顯示格式
import java.text.DateFormat;
import java.util.Date;

public class DateDemo03 {
    public static void main(String args[]){
        DateFormat df1 = null ;		// 聲明一個DateFormat
        DateFormat df2 = null ;		// 聲明一個DateFormat
        df1 = DateFormat.getDateInstance() ;	// 得到日期的DateFormat對象
        df2 = DateFormat.getDateTimeInstance() ;	// 得到日期時間的DateFormat對象
        System.out.println("DATE:" + df1.format(new Date())) ; // 按照日期格式化
        System.out.println("DATETIME:" + df2.format(new Date())) ;	 // 按照日期時間格式化

    }
}

程序運行結果:
在這裏插入圖片描述

2 、指定顯示類型
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;

public class DateDemo04 {
    public static void main(String args[]){
        DateFormat df1 = null ;		// 聲明一個DateFormat
        DateFormat df2 = null ;		// 聲明一個DateFormat
        df1 = DateFormat.getDateInstance(DateFormat.YEAR_FIELD,new Locale("zh","CN")) ;	// 得到日期的DateFormat對象
        df2 = DateFormat.getDateTimeInstance(DateFormat.YEAR_FIELD,DateFormat.ERA_FIELD,new Locale("zh","CN")) ;	// 得到日期時間的DateFormat對象
        System.out.println("DATE:" + df1.format(new Date())) ; // 按照日期格式化
        System.out.println("DATETIME:" + df2.format(new Date())) ;	 // 按照日期時間格式化
    }
}

程序運行結果:
在這裏插入圖片描述
如果需要自定義格式,則可以通過 DateFormat 類的子類 SimpleDateFormat 類實現



四 、SimpleDateFormat 類:自定義日期格式

在這裏插入圖片描述
在這裏插入圖片描述

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

public class DateDemo05 {
    public static void main(String[] args) {
        String template = "yyyy-MM-dd HH:mm:ss";
        String strTemplate = "yyyy年MM月dd日HH時mm分ss秒";
        SimpleDateFormat sdf1 = new SimpleDateFormat(template);  //實例化模板對象
        SimpleDateFormat sdf2 = new SimpleDateFormat(strTemplate); //實例化模板對象
        String strDate = DateFormat.getDateTimeInstance().format(new Date()); //獲取當前時間,格式例如:2019-01-01 10:20:30
        Date date = null;
        try {
            date = sdf1.parse(strDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println(sdf2.format(date));
    }
}

程序運行結果:
在這裏插入圖片描述

五 、Java中獲取時間戳的三種方式

import java.util.Calendar;
import java.util.Date;

public class DateDemo06 {
    public static void main(String[] args) {
        System.out.println(System.currentTimeMillis());
        System.out.println(new Date().getTime());
        System.out.println(Calendar.getInstance().getTimeInMillis());
    }
}

程序運行結果:
在這裏插入圖片描述

發佈了83 篇原創文章 · 獲贊 22 · 訪問量 2575
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章