Most visited

Recently visited

Added in API level 1

SimpleDateFormat

public class SimpleDateFormat
extends DateFormat

java.lang.Object
   ↳ java.text.Format
     ↳ java.text.DateFormat
       ↳ java.text.SimpleDateFormat


SimpleDateFormat是用于以区域敏感的方式格式化和解析日期的具体类。 它允许格式化(日期 - >文本),解析(文本 - >日期)和规范化。

SimpleDateFormat允许您首先选择任何用户定义的日期时间格式模式。 不过,建议您创建一个日期-时间格式有两种getTimeInstancegetDateInstance ,或getDateTimeInstanceDateFormat 这些类方法中的每一个都可以返回使用默认格式模式初始化的日期/时间格式化程序。 您可以根据需要使用applyPattern方法修改格式模式。 有关使用这些方法的更多信息,请参阅DateFormat

Date and Time Patterns

日期和时间格式由日期和时间模式字符串指定。 在日期和时间模式字符串中,从'A''Z'和从'a''z'未加引号的字母被解释为表示日期或时间字符串的组成部分的模式字母。 可以使用单引号( ' )引用文本以避免解释。 "''"代表一个单引号。 所有其他字符不解释; 它们只是在格式化时被复制到输出字符串中,或者在解析过程中与输入字符串匹配。

定义了以下模式字母(保留从 'A''Z'和从 'a''z'所有其他字符):

Letter Date or Time Component Presentation Examples
G Era designator Text AD
y Year Year 1996; 96
Y Week year Year 2009; 09
M Month in year Month July; Jul; 07
w Week in year Number 27
W Week in month Number 2
D Day in year Number 189
d Day in month Number 10
F Day of week in month Number 2
E Day name in week Text Tuesday; Tue
u Day number of week (1 = Monday, ..., 7 = Sunday) Number 1
a Am/pm marker Text PM
H Hour in day (0-23) Number 0
k Hour in day (1-24) Number 24
K Hour in am/pm (0-11) Number 0
h Hour in am/pm (1-12) Number 12
m Minute in hour Number 30
s Second in minute Number 55
S Millisecond Number 978
z Time zone General time zone Pacific Standard Time; PST; GMT-08:00
Z Time zone RFC 822 time zone -0800
X Time zone ISO 8601 time zone -08; -0800; -08:00
Pattern letters are usually repeated, as their number determines the exact presentation: SimpleDateFormat also supports localized date and time pattern strings. In these strings, the pattern letters described above may be replaced with other, locale dependent, pattern letters. SimpleDateFormat does not deal with the localization of text other than the pattern letters; that's up to the client of the class.

Examples

The following examples show how date and time patterns are interpreted in the U.S. locale. The given date and time are 2001-07-04 12:08:56 local time in the U.S. Pacific Time time zone.
Date and Time Pattern Result
"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
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX" 2001-07-04T12:08:56.235-07:00
"YYYY-'W'ww-u" 2001-W27-3

Synchronization

日期格式不同步。 建议为每个线程创建单独的格式实例。 如果多个线程同时访问一个格式,它必须在外部同步。

也可以看看:

Summary

Inherited constants

From class java.text.DateFormat

Inherited fields

From class java.text.DateFormat

Public constructors

SimpleDateFormat()

使用默认语言环境的默认模式和日期格式符号构造 SimpleDateFormat

SimpleDateFormat(String pattern)

使用默认语言环境的给定模式和默认日期格式符号构造 SimpleDateFormat

SimpleDateFormat(String pattern, Locale locale)

使用给定的模式和给定语言环境的默认日期格式符号构造一个 SimpleDateFormat

SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols)

使用给定的模式和日期格式符号构造 SimpleDateFormat

Public methods

void applyLocalizedPattern(String pattern)

将给定的本地化模式字符串应用于此日期格式。

void applyPattern(String pattern)

将给定的模式字符串应用于此日期格式。

Object clone()

创建此 SimpleDateFormat的副本。

boolean equals(Object obj)

将给定的对象与这个 SimpleDateFormat比较。

StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition pos)

将给定的 Date为日期/时间字符串,并将结果追加到给定的 StringBuffer

AttributedCharacterIterator formatToCharacterIterator(Object obj)

格式化产生 AttributedCharacterIterator的对象。

Date get2DigitYearStart()

返回100年期间的两位数年份的开始日期被解释为在之内。

DateFormatSymbols getDateFormatSymbols()

获取此日期格式的日期和时间格式符号的副本。

int hashCode()

返回此 SimpleDateFormat对象的哈希码值。

Date parse(String text, ParsePosition pos)

解析字符串中的文本以生成 Date

void set2DigitYearStart(Date startDate)

设置100年期间的两位数年份将被解释为在用户指定的日期开始。

void setDateFormatSymbols(DateFormatSymbols newFormatSymbols)

设置此日期格式的日期和时间格式符号。

String toLocalizedPattern()

返回描述此日期格式的本地化模式字符串。

String toPattern()

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

Inherited methods

From class java.text.DateFormat
From class java.text.Format
From class java.lang.Object

Public constructors

SimpleDateFormat

Added in API level 1
SimpleDateFormat ()

使用默认语言环境的默认模式和日期格式符号构造SimpleDateFormat 注意:此构造函数可能不支持所有语言环境。 要获得全面覆盖,请使用DateFormat课程中的工厂方法。

SimpleDateFormat

Added in API level 1
SimpleDateFormat (String pattern)

构造SimpleDateFormat使用给定的模式和缺省语言环境的默认日期格式符号。 注意:此构造函数可能不支持所有语言环境。 要获得全面覆盖,请使用DateFormat类中的工厂方法。

Parameters
pattern String: the pattern describing the date and time format
Throws
NullPointerException if the given pattern is null
IllegalArgumentException if the given pattern is invalid

SimpleDateFormat

Added in API level 1
SimpleDateFormat (String pattern, 
                Locale locale)

使用给定的模式和给定语言环境的默认日期格式符号构造SimpleDateFormat 注意:此构造函数可能不支持所有语言环境。 要获得全面覆盖,请使用DateFormat课程中的工厂方法。

Parameters
pattern String: the pattern describing the date and time format
locale Locale: the locale whose date format symbols should be used
Throws
NullPointerException if the given pattern or locale is null
IllegalArgumentException if the given pattern is invalid

SimpleDateFormat

Added in API level 1
SimpleDateFormat (String pattern, 
                DateFormatSymbols formatSymbols)

使用给定的模式和日期格式符号构造 SimpleDateFormat

Parameters
pattern String: the pattern describing the date and time format
formatSymbols DateFormatSymbols: the date format symbols to be used for formatting
Throws
NullPointerException if the given pattern or formatSymbols is null
IllegalArgumentException if the given pattern is invalid

Public methods

applyLocalizedPattern

Added in API level 1
void applyLocalizedPattern (String pattern)

将给定的本地化模式字符串应用于此日期格式。

Parameters
pattern String: a String to be mapped to the new date and time format pattern for this format
Throws
NullPointerException if the given pattern is null
IllegalArgumentException if the given pattern is invalid

applyPattern

Added in API level 1
void applyPattern (String pattern)

将给定的模式字符串应用于此日期格式。

Parameters
pattern String: the new date and time pattern for this date format
Throws
NullPointerException if the given pattern is null
IllegalArgumentException if the given pattern is invalid

clone

Added in API level 1
Object clone ()

创建此SimpleDateFormat的副本。 这也克隆格式的日期格式符号。

Returns
Object a clone of this SimpleDateFormat

equals

Added in API level 1
boolean equals (Object obj)

将给定的对象与这个 SimpleDateFormat比较。

Parameters
obj Object: the reference object with which to compare.
Returns
boolean true if the given object is equal to this SimpleDateFormat

format

Added in API level 1
StringBuffer format (Date date, 
                StringBuffer toAppendTo, 
                FieldPosition pos)

将给定的 Date为日期/时间字符串,并将结果追加到给定的 StringBuffer

Parameters
date Date: the date-time value to be formatted into a date-time string.
toAppendTo StringBuffer: where the new date-time text is to be appended.
pos FieldPosition: the formatting position. On input: an alignment field, if desired. On output: the offsets of the alignment field.
Returns
StringBuffer the formatted date-time string.
Throws
NullPointerException if the given date is null.

formatToCharacterIterator

Added in API level 1
AttributedCharacterIterator formatToCharacterIterator (Object obj)

格式化产生AttributedCharacterIterator的对象。 您可以使用返回的AttributedCharacterIterator来生成结果字符串,以及确定有关生成的字符串的信息。

AttributedCharacterIterator的每个属性键都是类型 DateFormat.Field ,相应的属性值与属性键相同。

Parameters
obj Object: The object to format
Returns
AttributedCharacterIterator AttributedCharacterIterator describing the formatted value.
Throws
NullPointerException if obj is null.
IllegalArgumentException if the Format cannot format the given object, or if the Format's pattern string is invalid.

get2DigitYearStart

Added in API level 1
Date get2DigitYearStart ()

返回100年期间的两位数年份的开始日期被解释为在之内。

Returns
Date the start of the 100-year period into which two digit years are parsed

也可以看看:

getDateFormatSymbols

Added in API level 1
DateFormatSymbols getDateFormatSymbols ()

获取此日期格式的日期和时间格式符号的副本。

Returns
DateFormatSymbols the date and time format symbols of this date format

也可以看看:

hashCode

Added in API level 1
int hashCode ()

返回此 SimpleDateFormat对象的哈希码值。

Returns
int the hash code value for this SimpleDateFormat object.

parse

Added in API level 1
Date parse (String text, 
                ParsePosition pos)

分析字符串中的文本以生成 Date

该方法尝试解析从pos给出的索引开始的文本。 如果解析成功,则在使用最后一个字符(解析不一定使用到字符串末尾的所有字符)之后,索引pos会更新为索引,并返回解析的日期。 更新的pos可用于指示下次调用此方法的起点。 如果发生错误,则pos的索引不会更改,错误索引pos将设置为发生错误的字符的索引,并返回null。

此解析操作使用calendar生成Date 所有的calendar的日期时间字段cleared解析之前,与calendar “被用于任何丢失的日期时间信息S日期时间字段的默认值。 例如,解析Date的年份值是1970年,如果解析操作没有给出年份值,则年份值为GregorianCalendar TimeZone值可能会被覆盖,具体取决于给定模式和text的时区值。 可能需要恢复以前通过调用setTimeZone设置的任何TimeZone值才能进一步操作。

Parameters
text String: A String, part of which should be parsed.
pos ParsePosition: A ParsePosition object with index and error index information as described above.
Returns
Date A Date parsed from the string. In case of error, returns null.
Throws
NullPointerException if text or pos is null.

set2DigitYearStart

Added in API level 1
void set2DigitYearStart (Date startDate)

设置100年期间的两位数年份将被解释为在用户指定的日期开始。

Parameters
startDate Date: During parsing, two digit years will be placed in the range startDate to startDate + 100 years.

也可以看看:

setDateFormatSymbols

Added in API level 1
void setDateFormatSymbols (DateFormatSymbols newFormatSymbols)

设置此日期格式的日期和时间格式符号。

Parameters
newFormatSymbols DateFormatSymbols: the new date and time format symbols
Throws
NullPointerException if the given newFormatSymbols is null

也可以看看:

toLocalizedPattern

Added in API level 1
String toLocalizedPattern ()

返回描述此日期格式的本地化模式字符串。

Returns
String a localized pattern string describing this date format.

toPattern

Added in API level 1
String toPattern ()

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

Returns
String a pattern string describing this date format.

Hooray!