sql.Date與util.Date日期格式化和轉換
(1) 獲取當前時間,並格式化為yyyy-MM-dd格式:
Java.util.Datedate = new Java.util.Date();
SimpleDateFormatsimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String time = simpleDateFormat .format(date);
注意:獲取一個SimpleDateFormat物件兩種方式:
第一種:使用 new SimpleDateFormat("yyyy-MM-dd")
第二種:使用(SimpleDateFormat)DateFormat.getDateInstance(),獲取的預設語言環境、預設格式的格式器,相容各種國際環境。
建議使用第二種。
(2)Java.util.Date轉 Java.sql.Date
Java.util.Dateudate = new Java.util.Date();
java.sql.Datesdate = new java.sql.Date(udate.getTime() );
(3)將“yyyy-MM-dd”格式字串轉換成 Java.sql.Date
第一種:
StringtimeStr = “2015-11-11”;
Java.util.Datedate = new Java.util.Date();
SimpleDateFormatsimpleDateFormat =(SimpleDateFormat)DateFormat.getDateInstance();
simpleDateFormat.applyPattern("yyyy-MM-dd");
date = simpleDateFormat1.parse(timeStr );
java.sql.Date date1 =new java.sql.Date(date.getTime());
第二種:(測試過不行)
StringtimeStr = “2015-11-11”;
StringTokenizerst = new StringTokenizer(timeStr ,"-");
java.sql.Date date =new java.sql.Date(Integer.parseInt(st.nextToken()));
工具類
/**
* 格式化、解析日期測試類
*/
packagecom.date_test;
importjava.text.DateFormat;
importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.Date;
public classDateFormat_test {
public static void main (Stringagrs[]) {
//獲取當前時間
Date dNow = new Date();
//建立日期格式化器,這裡是獲取的預設語言環境、預設格式的格式器
SimpleDateFormat df =(SimpleDateFormat)DateFormat.getDateInstance();
/*格式化日期,並輸出*/
//最普遍的格式
df.applyPattern("yyyy-MM-ddHH:mm:ss");
System.out.println("最普遍的格式: " + df.format(dNow));
//年份儉省格式
df.applyPattern("yy-MM-ddHH:mm:ss");
System.out.println("年份儉省格式: " + df.format(dNow));
//省略年份和具體時間格式
df.applyPattern("MM-dd");
System.out.println("省略年份和具體時間格式: " + df.format(dNow));
//採用12小時制格式
df.applyPattern("yyyy-MM-ddhh:mm:ss");
System.out.println("採用12小時制格式: " + df.format(dNow));
//省去個位數時前面的0格式
df.applyPattern("yyyy-m-ddh:mm:ss");
System.out.println("省去個位數時前面的0格式: " + df.format(dNow));
//更為自由的格式,嵌入字元、換行等,字元要用''包含
df.applyPattern("yyyy'年'M'月'd'日'\nh'時'm'分'mm'秒'");
System.out.println("更為自由的格式,嵌入字元、換行等:\n" + df.format(dNow) +"\n\n\n");
/*解析字串日期*/
String dTest ="2012-09-10";
//這裡的異常處理是必須、必要的,防止出現特殊格式的字串日期
try {
/*將字串轉化為Date型別時,要注意df的格式與字串日期的格式保持一致,
* 否則丟擲異常
* */
df.applyPattern("yyyy-MM-dd");
Date ddTest = df.parse(dTest);
//這裡輸出的日期仍然是預設格式,而非之前設定的格式
System.out.println(ddTest);
} catch (ParseException e) {
// TODO Auto-generated catchblock
e.printStackTrace();
}
}
}