文章目錄
一 、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());
}
}
程序運行結果: