java 格式化解析_java日期格式化、解析
今天移植別人的通用工具類,涉及到了日期的格式化、解析,學習結果記錄如下。
日期的格式化器普用的是SimpleDateFormat,它繼承了了DateFormat。SimpleDateFormat為用戶提供了更多的控制功能,更靈活。
但是有兩點需要注意:使用SimpleDateFormat解析字符串日期的時候要放入一個try代碼塊,以防遇到特殊的日期格式拋出異常;獲取SimpleDateFormat實例的時候最好使用DateFormat的getTimeInstance、getDateInstance?或getDateTimeInstance類方法來獲取。因為new一個SimpleDateFormat不適用于所有的地區,在國際化的時候會遇到問題,當然這個問題很難遇到了,但是還是小心為好。
總結一下SimpleDateFormat的用法其實很簡單:建立格式器(SimpleDateFormat)DateFormat.getDateInstance()--->添加格式applyPattern(pattern)--->格式化、解析日期format(Date)、parse(String)。
public?classDateFormat_test?{
public?static?voidmain?(String?agrs[])
{
//獲取當前時間
Date?dNow?=?newDate();
//建立日期格式化器,這里是獲取的默認語言環境、默認格式的格式器
SimpleDateFormat?df?=?(SimpleDateFormat)DateFormat.getDateInstance();
/*格式化日期,并輸出*/
//最普遍的格式
df.applyPattern("yyyy-MM-dd?HH:mm:ss");
System.out.println("最普遍的格式:??"+?df.format(dNow));
//年份儉省格式
df.applyPattern("yy-MM-dd?HH:mm:ss");
System.out.println("年份儉省格式:??"+?df.format(dNow));
//省略年份和具體時間格式
df.applyPattern("MM-dd");
System.out.println("省略年份和具體時間格式:??"+?df.format(dNow));
//采用12小時制格式
df.applyPattern("yyyy-MM-dd?hh:mm:ss");
System.out.println("采用12小時制格式:??"+?df.format(dNow));
//省去個位數時前面的0格式
df.applyPattern("yyyy-m-dd?h: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?catch?block
e.printStackTrace();
}
}
}
上述程序運行結果如下:
總結
以上是生活随笔為你收集整理的java 格式化解析_java日期格式化、解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java spring config_S
- 下一篇: java虚拟机起不来的原因,JVM理解其