一、Date類簡介
Java Date類是表示特定時間點的類,它將日期和時間以毫秒為單位存儲在long變量中,是Java常用的日期處理類之一。
在Java中,Date類有很多方法可以用來處理日期和時間,例如獲取特定格式的時間字符串、對日期進行加減、比較日期的大小等等。
在使用Java Date類時需要注意,由於Java Date類在處理時是基於系統默認時區的,所以在跨時區的處理時需要進行時區轉換。
二、創建Date對象
可以用構造函數創建Date對象,如果不指定時間,則會自動設置為當前時間。
//不指定時間,自動設置為當前時間 Date now = new Date(); //指定時間,參數為時間戳 Date time = new Date(1606780800000L);
三、格式化Date對象
可以將Date對象格式化為特定格式的時間字符串,主要通過SimpleDateFormat類實現。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String strDate = sdf.format(new Date()); System.out.println(strDate); // 2020-12-01 12:00:00
四、對日期進行加減
可以使用Calendar類將日期進行加減。
//獲取Calendar對象 Calendar calendar = Calendar.getInstance(); //將日曆設置為當前時間 calendar.setTime(new Date()); //在當前日期上加減 calendar.add(Calendar.HOUR, 2); Date newDate = calendar.getTime();
五、日期比較
可以通過Date的compareTo方法比較兩個日期的大小。
Date date1 = new Date(); Date date2 = new Date(System.currentTimeMillis() + 10000); int diff = date1.compareTo(date2); // diff 0, date1在date2之後 // diff = 0,兩個日期相同
六、時間戳與Date轉換
時間戳是指自1970年1月1日00:00:00以來的毫秒數,可以將時間戳轉換為Date格式。
long timeStamp = 1606780800000L; Date date = new Date(timeStamp);
也可以將Date格式轉換為時間戳。
Date date = new Date(); long timeStamp = date.getTime();
七、附腳本示例代碼
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateDemo { public static void main(String[] args) { //不指定時間,自動設置為當前時間 Date now = new Date(); //指定時間,參數為時間戳 Date time = new Date(1606780800000L); //將日期格式化為特定格式的時間字符串 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String strDate = sdf.format(new Date()); System.out.println(strDate); // 2020-12-01 12:00:00 //對日期進行加減 Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); //設置為當前時間 calendar.add(Calendar.HOUR, 2); Date newDate = calendar.getTime(); //比較日期大小 Date date1 = new Date(); Date date2 = new Date(System.currentTimeMillis() + 10000); int diff = date1.compareTo(date2); // diff 0, date1在date2之後 // diff = 0,兩個日期相同 //時間戳與Date轉換 long timeStamp = 1606780800000L; Date date = new Date(timeStamp); Date date = new Date(); long timeStamp = date.getTime(); } }
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/243490.html