import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
/*
使用方法:
將日期對象轉換成日期格式的字符串
1.Date() + SimpleDateFormat()
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");Date date = new Date();
System.out.println(dateFormat.format(date));
2. Calender() + SimpleDateFormat()
Calendar cal = Calendar.getInstance();
System.out.println(dateFormat.format(cal.getTime()));
*/
public class GetCurrentDateTime {
public static void main(String[] args) {
/*
java.text.SimpleDateFormat是一個以與語言環境有關的方式來格式化和解析日期的具體類.
注意:yyyy-MM-dd HH:mm:ss這里的大小寫要明確,可以參見JDK API java.text.SimpleDateFormat
*/
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//創建日期的對象,通過format()方法將日期對象格式化,格式化后是String類型
Date date = new Date();
System.out.println(dateFormat.format(date));
/*Calendar 提供了一個類方法 getInstance,以獲得此類型的一個通用的對象。Calendar 的 getInstance
方法返回一個 Calendar 對象,
其日歷字段已由當前日期和時間初始化
*/
Calendar cal = Calendar.getInstance();
System.out.println(dateFormat.format(cal.getTime()));
}
}
/**
* 日期對象和毫秒值之間的轉換。
*
* 毫秒值-->日期對象 : 1,通過Date對象的構造方法 new Date (timeMillis); 2,還可以通過setTime設置。
* 因為可以通過Date對象的方法對該日期中的各個字段(年月日等)進行操作。
*
* 日期對象-->毫秒值: 2,getTime方法。
* 因為可以通過具體的數值進行時間運算。
*
*/
long time = System.currentTimeMillis();
System.out.println(time);// 輸出的毫秒值
Date date = new Date();// 將當前日期和時間封裝成Date對象。
System.out.println(date);// 輸出Sat Nov 19 10:32:34 CST 2016
Date date2 = new Date();// 將指定毫秒值封裝成date對象
System.out.println(date2);// Sat Nov 19 10:34:16 CST 2016
/**
* 對日期對象進行格式化。 將日期對象-->日期格式的字符串。 使用的是 DateFormat 類中的format方法。
*
*/
Date date = new Date();
// 獲取日期格式對象。具體着默認的風格。 FULL LONG等可以指定風格。
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG);// 2016年11月19日
dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG,
DateFormat.LONG);// 2016年11月19日 上午10時48分39秒
// 自定義格式yyyy--MM--dd
dateFormat = new SimpleDateFormat("yyyy--MM--dd");//2016--11--19
String str_date = dateFormat.format(date);
System.out.println(str_date);
/**
將日期格式的字符串-->日期對象。 使用的是DateFormat類中的parse()方法。
*/
String str_date = "2016年11月19日";// 這種日期格式需要DateFormat.LONG
str_date = "2016--8--17";// 這種日期格式需要 new
// SimpleDateFormat("yyyy--MM--dd")
// 注意兩種日期轉換時的格式
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG);
dateFormat = new SimpleDateFormat("yyyy--MM--dd");
Date date = dateFormat.parse(str_date);// 拋出異常
String date2 = dateFormat.format(date);
System.out.println(date2);