SimpleDateFormat使用详解——日期、字符串应用
SimpleDateFormat?是一個以國別敏感的方式格式化和分析數據的具體類。 它允許格式化 (date -> text)、語法分析 (text -> date)和標準化。
SimpleDateFormat?允許以為日期-時間格式化選擇任何用戶指定的方式啟動。 但是,希望用?DateFormat?中的getTimeInstance、?getDateInstance?或?getDateTimeInstance?創建一個日期-時間格式化程序。 每個類方法返回一個以缺省格式化方式初始化的日期/時間格式化程序。 可以根據需要用?applyPattern?方法修改格式化方式。
SimpleDateFormat函數的繼承關系:
java.lang.Object
?? |
?? +----java.text.Format
?????????? |
?????????? +----java.text.DateFormat
?????????????????? |
?????????????????? +----java.text.SimpleDateFormat
下面是個小例子:
?
效果:
2004年12月16日 17時24分27秒
04/12/16 17:24
2004-12-16 17:24:27
2004年12月16日 17時24分27秒 星期四?
一年中的第 351 天 一年中第51個星期 一月中第3個星期 在一天中17時 CST時區
16 Dec 2004 09:24:27 GMT
2004-12-16 17:24:27
Thu Dec 16 17:24:27 CST 2004
下面是個JavaBean:
?
調用的main 測試結果:
2004年12月16日 17時38分26秒 星期四?
04年12月16日 17時38分
17 38 26 0965
04/12/16 17:38
?
計算兩個日期差
1 import java.text.DateFormat; 2 import java.text.ParseException; 3 import java.text.SimpleDateFormat; 4 import java.util.Calendar; 5 import java.util.Date; 6 /****** 7 * 8 * @author xiongcb 9 * 實現計算兩個日期的月份差 10 * 年份加一年 11 * 比較兩個日期大小 12 * 按規定格式輸出日期 13 */ 14 15 public class Riqi { 16 17 18 public static void main(String[] args) throws ParseException { 19 String s="20120601"; 20 String s1="20110512"; 21 Date m=new Date(); 22 Date d = null; 23 Date d1 = null; 24 25 26 27 DateFormat df=new SimpleDateFormat("yyyyMMdd"); 28 try { 29 d = df.parse(s); 30 d1=df.parse(s1); 31 32 //比較日期大小 33 34 if(d.getTime()>d1.getTime()) 35 { 36 System.out.println(df.format(d)); 37 } 38 else 39 { 40 System.out.println(df.format(d1)); 41 } 42 } 43 catch (ParseException e) 44 { 45 e.printStackTrace(); } 46 // Date date=df.parse(s); 47 // System.out.println(d); 48 // System.out.println(df.format(d)); 49 Calendar c = Calendar.getInstance(); 50 51 c.setTime(d); 52 c.add(Calendar.YEAR, 1); //年份加一年 53 System.out.println(df.format(c.getTime()));//按照yyyyMMdd格式輸出 54 55 56 int year = c.get(Calendar.YEAR); 57 int month = c.get(Calendar.MONTH); 58 59 c.setTime(d1); 60 int year1 = c.get(Calendar.YEAR); 61 int month1 = c.get(Calendar.MONTH); 62 63 int result; 64 if(year==year1) 65 { 66 67 result=month1-month;//兩個日期相差幾個月,即月份差 68 } 69 else 70 { 71 result=12*(year1-year)+month1-month;//兩個日期相差幾個月,即月份差 72 } 73 74 75 76 77 } 78 }?字符串轉換為日期
1 DateFormat f = new SimpleDateFormat("yyyy-MM-dd hh:MM:ss"); 2 Datea d = f.parse("2005-11-07 11:22:55");?
總結
以上是生活随笔為你收集整理的SimpleDateFormat使用详解——日期、字符串应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】伪静态URLRewrite学习笔记
- 下一篇: 大妈为拍照景区抓住海鸥喂麻花:遭网友谴责