java.text下的SimpleDateFormat类

开发中经常会用到格式化的时间,SimpleDateFormat类就可以轻松过解决这些问题,引用Oracle官方文档介绍:

SimpleDateFormat is a concrete class for formatting and parsing dates in a locale-sensitive manner. It allows for formatting (date -> text), parsing (text -> date), and normalization.

即SimpleDateFormat是一个可以以局部敏感方式格式化、解析日期的一个具体的类, 支持date --> String 的格式化 String --> date的解析 、标准化(默认方式); 看完就知道为什么么是局部敏感了~

 

The following pattern letters are defined (all other characters from 'A' to 'Z' and from 'a' to 'z' are reserved):

Letter

Date or Time Component

Presentation

Examples

G

Era designator

Text

AD

y

Year

Year

1996; 96

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 in week

Text

Tuesday; Tue

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

 

形如:SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");

双引号中的字符串指定时间日期的格式,使用单引号 ' ' 可以避免被翻译,非保留的字符都不会被翻译,会被直接复制到输出字符串中在解析过程中与输入字符串匹配

 

Examples:

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

----------------------------------------------------------------------------------------------------

附:

//String—>Date

String  time = “2018-10-15”;
try{
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Date date = sdf.parse(time);
}catch(ParseException e){
    e.printStackTrace();
}

//Date—>String

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
Date date = new Date(); 
String str = sdf.format(date);

 

你可能感兴趣的:(Java,Basis)