Java語言學習總結 擴展篇 DateFormat類

DateFormat類html

java.text .DateFormat 是 日期/時間格式化子類的抽象類,咱們經過這個類能夠幫咱們完成日期和文本之間的轉換:也就是能夠在Date對象與String對象之間進行來回轉換
java

●格式化:按照指定的格式,從Date對象轉換爲String對象。
●解析:按照指定的格式.從String對象轉換爲Date對象。
url

包的關係爲:spa

java.lang.Object ->java.text.Format ->java.text.DateFormat ->java.text.SimpleDateFormat.net

由於DateFormat是抽象類,不能直接調用,須要經過調用直接子類來調用方法,直接子類爲:SimpleDateFormatcode

SimpleDateFormat 是一個以與語言環境有關的方式來格式化和解析日期的具體類。它容許進行格式化(日期 -> 文本)解析(文本 -> 日期)和規範化。orm

 

日期和時間模式:htm

字母 日期或時間元素 表示 示例
G Era 標誌符 Text AD
y Year 1996; 96
M 年中的月份 Month July; Jul; 07
w 年中的週數 Number 27
W 月份中的週數 Number 2
D 年中的天數 Number 189
d 月份中的天數 Number 10
F 月份中的星期 Number 2
E 星期中的天數 Text Tuesday; Tue
a Am/pm 標記 Text PM
H 一天中的小時數(0-23) Number 0
k 一天中的小時數(1-24) Number 24
K am/pm 中的小時數(0-11) Number 0
h am/pm 中的小時數(1-12) Number 12
m 小時中的分鐘數 Number 30
s 分鐘中的秒數 Number 55
S 毫秒數 Number 978
z 時區 General time zone Pacific Standard Time; PST; GMT-08:00
Z 時區 RFC 822 time zone -0800

 

示例:對象

 

日期和時間模式 結果
"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

構造方法:blog

因爲DateFormat爲抽象類,不能直接使用.因此須要經常使用的子類java. text. SimpleDateFornat.這個類須要一個模式(格式)來指定格式化或解析的標準。

構造方法摘要
SimpleDateFormat()
          用默認的模式和默認語言環境的日期格式符號構造 SimpleDateFormat
SimpleDateFormat(String pattern)
          用給定的模式和默認語言環境的日期格式符號構造 SimpleDateFormat
SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols)
          用給定的模式和日期符號構造 SimpleDateFormat
SimpleDateFormat(String pattern, Locale locale)
          用給定的模式和給定語言環境的默認日期格式符號構造 SimpleDateFormat

SimpleDateFormat,參數pattern是一個字符串 表明日期時間的自定義格式。

 

格式化: 

用SimpleDateFormat 的構造方法中傳遞指定格式化模式,用SimpleDateFormat中的方法format把Date日期格式化爲符號模式的字符串。 

示例代碼:

 

  SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH時mm分ss秒");
  //用構造方法指定模式
  String d1 = sdf.format(date);
  //調用format方法把Date日期轉化成字符串
  System.out.println(date);//傳人Date日期
  System.out.println(d1);//輸出
  System.out.println("================");
  SimpleDateFormat sdf2 = new SimpleDateFormat("MM月dd日yyyy年 HH時mm分ss秒");
  String d2 = sdf2.format(date);
  System.out.println(date);
  System.out.println(d2);
  System.out.println("================");
  SimpleDateFormat sdf3 = new SimpleDateFormat("HH時mm分ss秒 yyyy年MM月dd日 ");
  String d3 = sdf3.format(date);
  System.out.println(date);
  System.out.println(d3);

 

輸出結果以下:

 

 

 

解析

使用pateFormat類中的方法parse,把文本解析爲日期
使用步驟:
1.建立Stmpl eDateFormat對象,構造方法中傳遞指定的模式
2.調用stepleDateFormat對象中的方法parse,把符合構造方法中模式的字符串,解析爲Date日期
注意:
public Date parse(String source) throws ParseException
parse方法聲明瞭一個異常叫ParseException
若是字符串和構造方法的模式不同.那麼程序就會的出此異常
調用一個拋出了異常的方法,就必須的處理這個異常,要麼throws繼續拋出這個異常,要麼try catch本身處理

 

示例代碼:

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateParse { public static void main(String[] args) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH時mm分ss秒"); Date date = sdf.parse("2020年01月27日 14時56分09秒"); System.out.println(date); } }

parse()括號裏輸入的日期格式必須與SimpleDateFormat裏指定的日期格式相同,不然報錯。

相關文章
相關標籤/搜索