Java格式化Date为字符串的高级写法
生活随笔
收集整理的這篇文章主要介紹了
Java格式化Date为字符串的高级写法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? ? 本文使用printf來進行格式化日期,不僅不需要創(chuàng)建DateFormat實例,又可以簡化代碼。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | private static void testDate() { System.out.printf("%tc\n",new Date()); // Wed Jan 13 18:51:28 CST 2016 (完整的日期和時間) /** 經(jīng)常使用 **/ System.out.printf("%tF\n",new Date()); // 2016-01-13 (ISO 8061日期) System.out.printf("%tD\n",new Date()); // 01/13/16 (美國格式的日期) /** 經(jīng)常使用 **/ System.out.printf("%tT\n",new Date()); // 18:51:28 (24小時時間) System.out.printf("%tr\n",new Date()); // 06:51:28 PM (12小時時間) System.out.printf("%tR\n",new Date()); // 18:51 (24小時時間沒有秒) System.out.printf("%tY\n",new Date()); // 2016 (4位數(shù)字的年(前面補0)) System.out.printf("%ty\n",new Date()); // 16 (年的后兩位數(shù)字(前面補0)) System.out.printf("%tC\n",new Date()); // 20 (年的前兩位數(shù)字(前面補0)) System.out.printf("%tb\n",new Date()); // Jan (月的縮寫) System.out.printf("%tB\n",new Date()); System.out.printf("%tm\n",new Date()); // 01 (兩位數(shù)字的月(前面補0)) System.out.printf("%td\n",new Date()); // 13 (兩位數(shù)字的日(前面補0)) System.out.printf("%te\n",new Date()); // 13 (兩位數(shù)字的日(前面不補0)) System.out.printf("%tA\n",new Date()); // Wednesday (星期幾的完整拼寫) System.out.printf("%ta\n",new Date()); // Wed (星期幾的縮寫) System.out.printf("%tj\n",new Date()); // 013 (三位數(shù)的年中的日子(前面補0),在001到366之間) System.out.printf("%tH\n",new Date()); // 18 (兩位數(shù)字的小時(前面補0),在0到23之間) System.out.printf("%tk\n",new Date()); // 18 (兩位數(shù)字的小時(前面不補0)在0到23之間) System.out.printf("%tI\n",new Date()); // 06 (兩位數(shù)字的小時(前面補0),在0到12之間) System.out.printf("%tl\n",new Date()); // 6 (兩位數(shù)字的小時(前面不補0),在0到12之間) System.out.printf("%tM\n",new Date()); // 51 (兩位數(shù)字的分鐘(前面補0)) System.out.printf("%tS\n",new Date()); // 28 (兩位數(shù)字的秒(前面補0)) System.out.printf("%tL\n",new Date()); // 886 (三位數(shù)字的毫秒(前面補0)) System.out.printf("%tN\n",new Date()); // 886000000 (九位數(shù)字的毫微秒(前面補0)) System.out.printf("%tp\n",new Date()); // pm (上午或者下午的小寫標志) // System.out.printf("%tP\n",new Date());//此方法報錯 應該和時區(qū)有關系 System.out.printf("%tz\n",new Date()); // +0800 (從GMT起,RFC822數(shù)字移位) System.out.printf("%tZ\n",new Date()); // CST (時區(qū)) System.out.printf("%ts\n",new Date()); // 1452682288 (從格林威治時間1970-01-01 00:00:00起的秒數(shù)) System.out.printf("%tQ\n",new Date()); // 1452682288886 (從格林威治時間1970-01-01 00:00:01起的毫秒數(shù)) /** 高級輸出時間格式 **/ String fullDate = String.format("%1$s%2$tY-%2$tm-%2$td %2$tT", "Due Date: ", new Date()); //Due Date: 2016-01-13 16:45:21 String fullDate2 = String.format("%s%tY-%<tm-%<td %<tT", "Due Date: ", new Date()); //Due Date: 2016-01-13 16:45:21 String fullDate3 = String.format("%s%tF %<tT", "Due Date: ", new Date()); //Due Date: 2016-01-13 16:45:21 System.out.println(fullDate); System.out.println(fullDate2); System.out.println(fullDate3); } |
如果參數(shù)超過一個,那就必須在 % 后面指定參數(shù)的索引,并以 $ 終止。
還可以使用 < 標志, 這樣就不用使用索引來指定位置了。
是不是很方便呢?
總結
以上是生活随笔為你收集整理的Java格式化Date为字符串的高级写法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IOS开发 REST请求 ASIHTTP
- 下一篇: Windows Android Stud