日期时间
Locale
在计算机中,通常使用 Locale
表示一个国家或地区的日期、时间、数字、货币等格式。Locale由语言_国家的字母缩写构成,例如,
zh_CN
表示中文+中国,en_US
表示英文+美国。语言使用小写,国家使用大写。
对于日期来说,不同的Locale,例如,中国和美国的表示方式如下:
- zh_CN:2016-11-30
- en_US:11/30/2016
计算机用Locale在日期、时间、货币和字符串之间进行转换。一个电商网站会根据用户所在的 Local e对用户显示如下:
|
中国用户 |
美国用户 |
---|---|---|
购买价格 | 12000.00 | 12,000.00 |
购买日期 | 2016-11-30 | 11/30/2016 |
Date
、Calendar
、SimpleDateFormat
和 TimeZone
均是 JKD 8 以前的 API,确实不好用,请尽可能放弃他们
JDK 8 该用什么
jdk 8 开始,java.time
包提供了新的一系列日期时间的 API,主要是:
- 本地日期和时间:
LocalDateTime
,LocalDate
,LocalTime
; - 带时区的日期和时间:
ZonedDateTime
; - 时刻:
Instant