共用方式為


SimpleDateFormat 類別

定義

SimpleDateFormat 是以地區設定區分地區設定的方式格式化和剖析日期的具體類別。

[Android.Runtime.Register("java/text/SimpleDateFormat", DoNotGenerateAcw=true)]
public class SimpleDateFormat : Java.Text.DateFormat
[<Android.Runtime.Register("java/text/SimpleDateFormat", DoNotGenerateAcw=true)>]
type SimpleDateFormat = class
    inherit DateFormat
繼承
SimpleDateFormat
屬性

備註

SimpleDateFormat 是以地區設定區分地區設定的方式格式化和剖析日期的具體類別。 它允許格式化(date → text)、剖析(text → date),以及正規化。

SimpleDateFormat 可讓您從選擇任何使用者定義的模式開始進行日期時間格式設定。 不過,建議您在 中建立具有 getTimeInstancegetDateInstancegetDateTimeInstanceDateFormat日期時間格式器。 每個類別方法都可以傳回以預設格式模式初始化的日期/時間格式子。 您可以視需要使用 applyPattern 方法來修改格式模式。 如需使用這些方法的詳細資訊,請參閱 DateFormat

<h2>日期和時間模式</h2>

日期和時間格式是由 <em> 日期和時間模式</em> 字串所指定。 在日期和時間模式字串內,從 'A''Z''a''z'無引號的字母會解譯為代表日期或時間字串元件的模式字母。 文字可以使用單引號來加上引號,'以避免解譯。 "''" 表示單引號。 不會解譯所有其他字元;它們只會在格式化期間複製到輸出字串,或在剖析期間與輸入字串相符。

已定義下列模式字母(從 'A''Z''z''a' 保留的所有其他字元):<blockquote<>table class=“striped”<>caption style=“display:none”>Chart 顯示模式字母、日期/時間元件、簡報和範例。</caption>thead><tr><th scope=“col” style=“text-align:left”>Letter <th scope=“col” style=“text-align:left”>Date or Time Component <th scope=“col” style=“text-align:left>”Presentation <th scope=“col” style=“text-align>:left”examples <th scope=“col” style=“text-align:left”>Supported (API Levels) </thead><tbody><tr><th scope=“row”>G<td>Era<設計工具 td>Text<td td><>AD1+</td<>tr><th scope=“row”><ytd>Year <td;<<>>199696<td>1+</td<>tr><th scope=“row”<>Ytd>Week td Year<< td; 09<>>2009td>24+</td tr><th scope=“row”>M<td<>>Month in year (context sensitive) <td Month<td; 07Jul<>>Julytd>1+</td><tr><th scope=“row”>L<td>Month in year (獨立形式) <td Month<td; 07Jul<>>Julytd>TBD</td><tr><th scope=“row”><wtd>Week in year <td><27<>>1+</td<><>tr th scope=“row”td>Week in month><><>2< td 1+</td<>tr><th scope=“row”<<>>DWtd>Day in year <td>Number<td>189<td>1+</td<>tr<>th scope=“row”<>dtd>Day in month <td<>>><101+</<><>td tr th scope=“row”><Ftd>Day in month <>td Number<td2>><td 1+</td<>tr<>th scope=“row”>E<td>Day name in week <td Text><td>Tuesday;Tue<td>1+</td<>tr<>th scope=“row”<>utd>Day number of week (1 = Monday, ..., 7 = Sunday) <td>Number<td1<>td>24+</td<>tr><th scope=“row”>>a<td Am/pm marker>< td Text<<>>PMtd td 1+</td tr<>th scope=“row”<>Htd><>日中小時 (0-23) td 數位 td td><>01+</td<>tr><th scope=“row”k<>td>Hour in day (1-24) <td><>24><1+</td<>tr<>th scope=“row”><Ktd>Hour in am/pm (0-11)<> td Number<td td0>><1+</td<>tr><th scope=<><“row”><htd>Hour in am/pm (1-12) <td>Number<td td>12><1+</td>><<tr th scope=“row”td Minute in hour>><<>30< td 1+</td<>tr<>th scope=“row”s>><m<td>>Second in minute>< td Number><55><td 1+</td><tr><th scope=“row”><Std>Millisecond <td><td978><>1+</td><tr><th scope=“row”z<>td>Time zone <td 一般時區<td; GMT-08:00PST<>>Pacific Standard Timetd>1+</td<>tr><th scope=“row”Z<>td>Time zone <td>RFC 822 time<zone td td><>-08001+</td tr<>th scope=“row”><Xtd><>Time zone>< td ISO 8601 time zone<td; -0800<-08:00>-08td>24+</td></tbody<>/table></blockquote> 圖樣字母通常會重複,因為其數位會決定確切的簡報:<ul<>li><strong“>text:</strong>> For formatting,如果模式字母數目是 4 或更多,則會使用完整窗體;否則,如果有的話,則會使用簡短或縮寫窗體。 為了剖析,會接受這兩種形式,與模式字母數目無關。</li li><><strong>“number:></strong> 對於格式設定,模式字母的數目是最小數位數,而較短的數位會填補到此數量。 為了剖析,除非需要分隔兩個相鄰字段,否則會忽略模式字母的數目。</li><><strong>“year”>Year:</strong> 如果格式器的 #getCalendar() Calendar 是公曆,則會套用下列規則。 <ul><li>針對格式設定,如果模式字母數目為 2,則年份會截斷為 2 位數,否則會解譯為數位。 <li>為了剖析,如果模式字母的數目超過 2,則不論數位數目為何,年份都會以字面方式解譯。 因此,使用模式 「MM/dd/yyyy」、“01/11/12” 剖析為 12 A.D 11 月 11 日。 <li>若要剖析與縮寫年份模式(“y” 或 “yy”), SimpleDateFormat 必須解譯相對於某個世紀的縮寫年份。 其方式是將日期調整為在實例建立后的80年和20年內 SimpleDateFormat 。 例如,使用 「MM/dd/yy」 模式和 SimpleDateFormat 1997 年 1 月 1 日建立的實例,字串 “01/11/12” 會解譯為 2012 年 1 月 11 日,而字符串 “05/04/64” 會解譯為 1964 年 5 月 4 日。 在剖析期間,只有只包含兩個數位的字串,如所 Character#isDigit(char)定義,將會剖析為預設的世紀。 任何其他數值字串,例如一個數位字串、三個以上的數位字串,或不是所有數位的兩位數位符串(例如,“-1”),會以常值方式解譯。 因此,使用與 3 AD 1 月 2 日相同的模式剖析 “01/02/02/003” 或 “01/02/003”。 同樣地,“01/02/-3”剖析為BC 4年1月2日。 </ul> 否則,會套用行事曆系統特定的窗體。 針對格式化和剖析,如果模式字母數目是 4 或更多,則會使用行事曆特定的 Calendar#LONG 表單。 否則,會使用行事曆特定的 Calendar#SHORT short 或縮寫表單。 <br> 如果指定了周年 'Y' ,且 #getCalendar() 行事曆不支援任何周年,則會改用日曆年 ('y')。 您可以透過呼叫 來DateFormat#getCalendar() getCalendar()java.util.Calendar#isWeekDateSupported() isWeekDateSupported()測試一周年的支援。</li li>><<strong>“month”>Month:</strong> 如果模式字母數目為 3 或更多,則會將月份解譯為文字;否則,它會解譯為數位。 <ul>li Letter <em>M</em> 會產生上下文相關月份名稱,例如名稱的內嵌形式。>< 字母 <em>M</em> 會區分內容,因為它用於獨立模式時,例如 “MMMM”,它會提供月份名稱的獨立形式,以及當它用於包含其他字段的模式時,例如 “d MMMM”,它會提供月份名稱的格式形式。 例如,在加泰羅尼亞文中的 1 月是格式表單中的 “de gener”,而它是獨立窗體中的 “gener”。 在此情況下,“MMMM” 會產生 “gener”,而 “d MMMM” 的月份部分將會產生 “de gener”。 DateFormatSymbols如果 已使用建構函式#SimpleDateFormat(String,DateFormatSymbols)或方法#setDateFormatSymbols(DateFormatSymbols)明確設定 ,則會使用 所DateFormatSymbols指定的月份名稱。</li li><>Letter <em>L</em> 會產生月份名稱的獨立形式。</li></ul><br></li li><<>strong>“timezone”>一般時區:</strong> 時區若有名稱,則會解譯為文字。 對於代表 GMT 位移值的時區,會使用下列語法:

<a id="GMTOffsetTimeZone"><i>GMTOffsetTimeZone:</i></a>
                        {@code GMT} <i>Sign</i> <i>Hours</i> {@code :} <i>Minutes</i>
<i>Sign:</i> one of
                        {@code + -}
<i>Hours:</i>
<i>Digit</i>
<i>Digit</i> <i>Digit</i>
<i>Minutes:</i>
<i>Digit</i> <i>Digit</i>
<i>Digit:</i> one of
                        {@code 0 1 2 3 4 5 6 7 8 9}

小時 必須介於 0 到 23 之間,而 分鐘 必須介於 00 到 59 之間。 格式與地區設定無關,而且數位必須取自 Unicode 標準的基本拉丁文區塊。

為了剖析,也會接受 RFC 822 時區。</li strong><><>“rfc822timezone”>RFC 822 時區:</strong> 針對格式設定,會使用 RFC 822 4 位數時區格式:

<i>RFC822TimeZone:</i>
<i>Sign</i> <i>TwoDigitHours</i> <i>Minutes</i>
<i>TwoDigitHours:</i>
<i>Digit Digit</i>

TwoDigitHours 必須介於 00 到 23 之間。 其他定義與一般時區一樣。

為了剖析,也接受一般時區。 <li><strong>“iso8601timezone”>ISO 8601 Time zone:</strong> 模式字母數目會指定格式和剖析的格式,如下所示:

<i>ISO8601TimeZone:</i>
<i>OneLetterISO8601TimeZone</i>
<i>TwoLetterISO8601TimeZone</i>
<i>ThreeLetterISO8601TimeZone</i>
<i>OneLetterISO8601TimeZone:</i>
<i>Sign</i> <i>TwoDigitHours</i>
                        {@code Z}
<i>TwoLetterISO8601TimeZone:</i>
<i>Sign</i> <i>TwoDigitHours</i> <i>Minutes</i>
                        {@code Z}
<i>ThreeLetterISO8601TimeZone:</i>
<i>Sign</i> <i>TwoDigitHours</i> {@code :} <i>Minutes</i>
                        {@code Z}

其他定義適用於一般時區或 RFC 822 時區。

針對格式化,如果 GMT 的位移值為 0, "Z" 則會產生 。 如果模式字母數目為 1,則會忽略一小時的任何分數。 例如,如果模式為 "X" ,且時區為 "GMT+05:30""+05" 則會產生 。

為了剖析,字母 "Z" 會剖析為UTC時區指示項(因此 "09:30Z" 會剖析為 "09:30 UTC"。 一般時區<>為未<接受/em>。

如果模式字母數目"X"是 4 或更多,XXXXIllegalArgumentException則會在建構SimpleDateFormat或套用模式的 #applyPattern(String) 時擲回。 </ul>SimpleDateFormat 也支援 <em>本地化的日期和時間模式</em> 字串。 在這些字串中,上述模式字母可能會取代為其他地區設定相依的模式字母。 SimpleDateFormat 不會處理模式字母以外的文字當地語系化;由類別的客戶端決定。

<h3>範例</h3>

下列範例示範在美國地區設定中如何解譯日期和時間模式。 指定的日期和時間是美國太平洋時區的 2001-07-04 12:08:56。 <blockquote><table class=“striped”><caption style=“display:none”>examples of date and time patterns interpreted in the US locale</caption><thead<>tr<>th scope=“col” style=“text-align:left”>Date and Time Pattern <th scope=“col” style=“text-align:left”>Result </thead<>tbody><tr><th scope=“row”><"yyyy.MM.dd G 'at' HH:mm:ss z"td>2001.07.04 AD at 12:08:56 PDT<tr<>th scope=“row”>"EEE, MMM d, ''yy"<td>Wed, Jul 4, '01<tr>th scope=“row”>"h:mm a"<td>12:08 PM<tr><th scope=“row”><"hh 'o''clock' a, zzzz"td>12 o'clock PM, Pacific Daylight Time<><tr th scope=“row"K:mm a, z"><”td><0:08 PM, PDT<>tr th scope=“"yyyyy.MMMMM.dd GGG hh:mm aaa"><row”td tr th scope=“row”td<02001.July.04 AD 12:08 PM>tr th scope=<"yyMMddHHmmssZ">“row”"EEE, d MMM yyyy HH:mm:ss Z"<>td<>Wed, 4 Jul 2001 12:08:56 -0700tr<>th scope=“row”td><010704120856-0700tr><><th scope=“row”"yyyy-MM-dd'T'HH:mm:ss.SSSZ"><td>2001-07-04T12:08:56.235-0700<<tr><th scope=“row”><"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"td><2001-07-04T12:08:56.235-07:00tr><th scope=“row”><"YYYY-'W'ww-u"td>2001-W27-3</tbody></table></blockquote>

<h3>“synchronization”>Synchronization</h3>

日期格式不會同步處理。 建議為每個線程建立個別的格式實例。 如果多個線程同時存取格式,則必須在外部同步處理。

已在1.1中新增。

java.text.SimpleDateFormatJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

SimpleDateFormat()

SimpleDateFormat使用預設java.util.Locale.Category#FORMAT FORMAT地區設定的預設模式與日期格式符號來建構 。

SimpleDateFormat(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

SimpleDateFormat(String)

SimpleDateFormat使用指定的模式與預設java.util.Locale.Category#FORMAT FORMAT地區設定的預設日期格式符號來建構 。

SimpleDateFormat(String, DateFormatSymbols)

SimpleDateFormat使用指定的模式與日期格式符號來建構 。

SimpleDateFormat(String, Locale)

SimpleDateFormat使用指定的模式與指定地區設定的預設日期格式符號來建構 。

欄位

AmPmField

AM_PM欄位對齊的實用常數。

(繼承來源 DateFormat)
DateField

DATE 欄位對齊的實用常數。

(繼承來源 DateFormat)
DayOfWeekField

DAY_OF_WEEK欄位對齊的實用常數。

(繼承來源 DateFormat)
DayOfWeekInMonthField

DAY_OF_WEEK_IN_MONTH欄位對齊的實用常數。

(繼承來源 DateFormat)
DayOfYearField

DAY_OF_YEAR欄位對齊的實用常數。

(繼承來源 DateFormat)
Default

默認樣式模式的常數。

(繼承來源 DateFormat)
EraField

ERA 欄位對齊的實用常數。

(繼承來源 DateFormat)
Full

完整樣式模式的常數。

(繼承來源 DateFormat)
Hour0Field

以零起始 HOUR 字段對齊的實用常數。

(繼承來源 DateFormat)
Hour1Field

單一型 HOUR 欄位對齊的實用常數。

(繼承來源 DateFormat)
HourOfDay0Field

以零起始HOUR_OF_DAY字段對齊的實用常數。

(繼承來源 DateFormat)
HourOfDay1Field

適用於單一型HOUR_OF_DAY字段對齊的實用常數。

(繼承來源 DateFormat)
Long

長樣式模式的常數。

(繼承來源 DateFormat)
Medium

中樣式模式的常數。

(繼承來源 DateFormat)
MillisecondField

毫秒欄位對齊的實用常數。

(繼承來源 DateFormat)
MinuteField

MINUTE 欄位對齊的實用常數。

(繼承來源 DateFormat)
MonthField

月份欄位對齊的實用常數。

(繼承來源 DateFormat)
SecondField

第二個字段對齊的實用常數。

(繼承來源 DateFormat)
Short

簡短樣式模式的常數。

(繼承來源 DateFormat)
TimezoneField

TIMEZONE 欄位對齊的實用常數。

(繼承來源 DateFormat)
WeekOfMonthField

WEEK_OF_MONTH欄位對齊的實用常數。

(繼承來源 DateFormat)
WeekOfYearField

適用於WEEK_OF_YEAR欄位對齊的實用常數。

(繼承來源 DateFormat)
YearField

YEAR 欄位對齊的實用常數。

(繼承來源 DateFormat)

屬性

Calendar

取得與此日期/時間格式子相關聯的行事曆。 -或- 設定此日期格式要使用的行事曆。

(繼承來源 DateFormat)
Class

傳回這個 Object的運行時間類別。

(繼承來源 Object)
DateFormatSymbols

取得這個日期格式的日期和時間格式符號複本。 -或- 設定此日期格式的日期和時間格式符號。

Handle

基礎Android實例的句柄。

(繼承來源 Object)
JniIdentityHashCode

SimpleDateFormat 是以地區設定區分地區設定的方式格式化和剖析日期的具體類別。

(繼承來源 Object)
JniPeerMembers

SimpleDateFormat 是以地區設定區分地區設定的方式格式化和剖析日期的具體類別。

Lenient

告知日期/時間剖析是否為寬大。 -或- 指定日期/時間剖析是否為寬大。

(繼承來源 DateFormat)
NumberFormat

取得這個日期/時間格式器用來格式化和剖析時間的數位格式器。 -或- 可讓您設定數位格式器。

(繼承來源 DateFormat)
PeerReference

SimpleDateFormat 是以地區設定區分地區設定的方式格式化和剖析日期的具體類別。

(繼承來源 Object)
ThresholdClass

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

ThresholdType

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

TimeZone

取得時區。 -或- 設定此 DateFormat 物件的行事歷時區。

(繼承來源 DateFormat)

方法

ApplyLocalizedPattern(String)

將指定的當地語系化模式字串套用至這個日期格式。

ApplyPattern(String)

將指定的模式字串套用至這個日期格式。

Clone()

建立並傳回這個 對象的複本。

(繼承來源 _Format)
Dispose()

SimpleDateFormat 是以地區設定區分地區設定的方式格式化和剖析日期的具體類別。

(繼承來源 Object)
Dispose(Boolean)

SimpleDateFormat 是以地區設定區分地區設定的方式格式化和剖析日期的具體類別。

(繼承來源 Object)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
Format(Date)

Date將格式化為日期時間字串。

(繼承來源 DateFormat)
Format(Date, StringBuffer, FieldPosition)

將指定的 Date 格式化為日期/時間字串,並將結果附加至指定的 StringBuffer

Format(Object)

格式化 物件以產生字串。

(繼承來源 _Format)
Format(Object, StringBuffer, FieldPosition)

將指定的 Object 格式化為日期時間字串。

(繼承來源 DateFormat)
FormatToCharacterIterator(Object)

格式化產生的物件 AttributedCharacterIterator

(繼承來源 _Format)
Get2DigitYearStart()

傳回 100 年期間 2 位數年份的開始日期,會解譯為在內。

GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
JavaFinalize()

當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。

(繼承來源 Object)
Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
Parse(String)

剖析指定字串開頭的文字以產生日期。

(繼承來源 DateFormat)
Parse(String, ParsePosition)

剖析字串中的文字以產生 Date

ParseObject(String)

從指定字串的開頭剖析文字,以產生 物件。

(繼承來源 _Format)
ParseObject(String, ParsePosition)

剖析字串中的文字以產生 Date

(繼承來源 DateFormat)
Set2DigitYearStart(Date)

設定使用者指定日期開始的100年期間2位數年份。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
ToArray<T>()

SimpleDateFormat 是以地區設定區分地區設定的方式格式化和剖析日期的具體類別。

(繼承來源 Object)
ToLocalizedPattern()

傳回描述此日期格式的當地語系化模式字串。

ToPattern()

傳回描述此日期格式的模式字串。

ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

SimpleDateFormat 是以地區設定區分地區設定的方式格式化和剖析日期的具體類別。

(繼承來源 Object)
Wait()

讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<>

(繼承來源 Object)
Wait(Int64)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)

明確介面實作

IJavaPeerable.Disposed()

SimpleDateFormat 是以地區設定區分地區設定的方式格式化和剖析日期的具體類別。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

SimpleDateFormat 是以地區設定區分地區設定的方式格式化和剖析日期的具體類別。

(繼承來源 Object)
IJavaPeerable.Finalized()

SimpleDateFormat 是以地區設定區分地區設定的方式格式化和剖析日期的具體類別。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

SimpleDateFormat 是以地區設定區分地區設定的方式格式化和剖析日期的具體類別。

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

SimpleDateFormat 是以地區設定區分地區設定的方式格式化和剖析日期的具體類別。

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

SimpleDateFormat 是以地區設定區分地區設定的方式格式化和剖析日期的具體類別。

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

SimpleDateFormat 是以地區設定區分地區設定的方式格式化和剖析日期的具體類別。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

SimpleDateFormat 是以地區設定區分地區設定的方式格式化和剖析日期的具體類別。

GetJniTypeName(IJavaPeerable)

SimpleDateFormat 是以地區設定區分地區設定的方式格式化和剖析日期的具體類別。

適用於