如何实现java日期格式化?

如何实现java日期格式化?

回答:

使用LocalDateTime#parse()(或ZonedDateTime#parse()如果字符串恰巧包含时区部分)将String特定模式中的解析为LocalDateTime

String oldstring = "2011-01-18 00:00:00.0";

LocalDateTime datetime = LocalDateTime.parse(oldstring, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S"));

使用LocalDateTime#format()(或ZonedDateTime#format())以某种格式将LocalDateTime 格式化为String。

String newstring = datetime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));

System.out.println(newstring); // 2011-01-18

或者,当你尚未使用Java 8时,请使用SimpleDateFormat#parse()将String特定模式中的解析为Date。

String oldstring = "2011-01-18 00:00:00.0";

Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").parse(oldstring);

用于SimpleDateFormat#format()将格式化Date为String特定模式。

String newstring = new SimpleDateFormat("yyyy-MM-dd").format(date);

System.out.println(newstring); // 2011-01-18

格式区分大小写,因此请使用MM而不是mm(这是分钟),而yyyy作为参考,你可以使用以下速查表。

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

以上是 如何实现java日期格式化? 的全部内容, 来源链接: utcz.com/qa/422354.html

回到顶部