如何实现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 ADy 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