java中Date与DateFormat的格式输出
使用 getDateInstance 來獲取該國(guó)家/地區(qū)的標(biāo)準(zhǔn)日期格式。另外還提供了一些其他靜態(tài)工廠方法。使用 getTimeInstance 可獲取該國(guó)家/地區(qū)的時(shí)間格式。使用 getDateTimeInstance 可獲取日期和時(shí)間格式。可以將不同選項(xiàng)傳入這些工廠方法,以控制結(jié)果的長(zhǎng)度(從 SHORT 到 MEDIUM 到 LONG 再到 FULL)。確切的結(jié)果取決于語(yǔ)言環(huán)境,但是通常:
- SHORT 完全為數(shù)字,如 12.13.52 或 3:30pm
- MEDIUM 較長(zhǎng),如 Jan 12, 1952
- LONG 更長(zhǎng),如 January 12, 1952 或 3:30:32pm
- FULL 是完全指定,如 Tuesday、April 12、1952 AD 或 3:30:42pm PST。
如果愿意,還可以在格式上設(shè)置時(shí)區(qū)。如果想對(duì)格式化或解析施加更多的控制(或者給予用戶更多的控制),可以嘗試將從工廠方法所獲取的 DateFormat 強(qiáng)制轉(zhuǎn)換為 SimpleDateFormat。這適用于大多數(shù)國(guó)家/地區(qū);只是要記住將其放入一個(gè) try 代碼塊中,以防遇到特殊的格式。?
使用當(dāng)?shù)貢r(shí)區(qū) Date date = new Date(); //日期格式,精確到日 2017-4-16 DateFormat df1 = DateFormat.getDateInstance(); System.out.println(df1.format(date));//可以精確到秒 2017-4-16 12:43:37 DateFormat df2 = DateFormat.getDateTimeInstance(); System.out.println(df2.format(date));//只顯示出時(shí)時(shí)分秒 12:43:37 DateFormat df3 = DateFormat.getTimeInstance(); System.out.println(df3.format(date));//顯示日期,周,上下午,時(shí)間(精確到秒) //2017年4月16日 星期日 下午12時(shí)43分37秒 CST DateFormat df4 = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL); System.out.println(df4.format(date));//顯示日期,上下午,時(shí)間(精確到秒) //2017年4月16日 下午12時(shí)43分37秒 DateFormat df5 = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG); System.out.println(df5.format(date));//顯示日期,上下午,時(shí)間(精確到秒) //2017年4月16日 下午12時(shí)43分37秒 DateFormat df5_1 = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, Locale.CHINA); System.out.println(df5_1.format(date)); //顯示日期,上下午,時(shí)間(精確到分) 17-4-16 下午12:43 DateFormat df6 = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); System.out.println(df6.format(date));//顯示日期,時(shí)間(精確到秒) 2017-4-16 12:43:37 DateFormat df7 = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM); System.out.println(df7.format(date));二、?SimpleDateFormat
java.text.SimpleDateFormat定義了以下模式字母(所有其他字符 'A' 到 'Z' 和 'a' 到 'z' 都被保留):
| G | Era 標(biāo)志符 | Text | AD |
| y | 年 | Year | 1996; 96 |
| M | 年中的月份 | Month | July; Jul; 07 |
| w | 年中的周數(shù) | Number | 27 |
| W | 月份中的周數(shù) | Number | 2 |
| D | 年中的天數(shù) | Number | 189 |
| d | 月份中的天數(shù) | Number | 10 |
| F | 月份中的星期 | Number | 2 |
| E | 星期中的天數(shù) | Text | Tuesday; Tue |
| a | Am/pm 標(biāo)記 | Text | PM |
| H | 一天中的小時(shí)數(shù)(0-23) | Number | 0 |
| k | 一天中的小時(shí)數(shù)(1-24) | Number | 24 |
| K | am/pm 中的小時(shí)數(shù)(0-11) | Number | 0 |
| h | am/pm 中的小時(shí)數(shù)(1-12) | Number | 12 |
| m | 小時(shí)中的分鐘數(shù) | Number | 30 |
| s | 分鐘中的秒數(shù) | Number | 55 |
| S | 毫秒數(shù) | Number | 978 |
| z | 時(shí)區(qū) | General time zone | Pacific Standard Time; PST; GMT-08:00 |
| Z | 時(shí)區(qū) | RFC 822 time zone | -0800 |
?
實(shí)例參數(shù)
| "yyyy.MM.dd G 'at' HH:mm:ss z" | 2001.07.04 AD at 12:08:56 PDT |
| "EEE, MMM d, ''yy" | Wed, Jul 4, '01 |
| "h:mm a" | 12:08 PM |
| "hh 'o''clock' a, zzzz" | 12 o'clock PM, Pacific Daylight Time |
| "K:mm a, z" | 0:08 PM, PDT |
| "yyyyy.MMMMM.dd GGG hh:mm aaa" | 02001.July.04 AD 12:08 PM |
| "EEE, d MMM yyyy HH:mm:ss Z" | Wed, 4 Jul 2001 12:08:56 -0700 |
| "yyMMddHHmmssZ" | 010704120856-0700 |
| "yyyy-MM-dd'T'HH:mm:ss.SSSZ" | 2001-07-04T12:08:56.235-0700 |
?
代碼結(jié)果
Date d = new Date(); /* h 1-12輸出格式: 2017-04-16 01:01:22 */ DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String s = format1.format(d); System.out.println(s); /* H 0-23輸出格式:2017-04-16 13:01:22*/ DateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); s = format2.format(d); System.out.println(s);/* K 0-11輸出格式:2017-04-16 01:01:22 */ DateFormat format3 = new SimpleDateFormat("yyyy-MM-dd KK:mm:ss"); s = format3.format(d); System.out.println(s);/* k 1-24輸出格式: 2017-04-16 13:01:22 */ DateFormat format4 = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss"); s = format4.format(d); System.out.println(s);/* 輸出格式: 20170416010122 */ DateFormat format5 = new SimpleDateFormat("yyyyMMddhhmmss"); s = format5.format(d); System.out.println(s);?
常用方法
parse
public Date parse(String?texts)此方法試圖解析文本。如果解析成功,并返回解析得到的日期。更新后的 pos 可以用來指示下次調(diào)用此方法的起始點(diǎn)。如果發(fā)生錯(cuò)誤,并且返回 null。
?
?
parse
public Date parse(String?text,ParsePosition?pos)此方法試圖解析從 pos 給定的索引處開始的文本。如果解析成功,則將 pos 的索引更新為所用最后一個(gè)字符后面的索引(不必對(duì)直到字符串結(jié)尾的所有字符進(jìn)行解析),并返回解析得到的日期。更新后的 pos 可以用來指示下次調(diào)用此方法的起始點(diǎn)。如果發(fā)生錯(cuò)誤,則不更改 pos 的索引,并將 pos 的錯(cuò)誤索引設(shè)置為發(fā)生錯(cuò)誤處的字符索引,并且返回 null。
?
?
format
public final String format(Date?date)?
?
總結(jié)
以上是生活随笔為你收集整理的java中Date与DateFormat的格式输出的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FastComet vs Bluehos
- 下一篇: FileDescriptor的作用