java时间英⽂格式_JavaSimpleDateFormat中英⽂时间格式化
转换
SimpleDateFormat是⼀个以与语⾔环境有关的⽅式来格式化和解析⽇期的具体类。它允许进⾏格式化(⽇期 -> ⽂本)、解析(⽂本 -> ⽇期)和规范化。
SimpleDateFormat使得可以选择任何⽤户定义的⽇期-时间格式的模式。但是,仍然建议通过DateFormat中的getTimeInstance、getDateInstance 或 getDateTimeInstance 来创建⽇期-时间格式器。每⼀个这样的类⽅法都能够返回⼀个以默认格式模式初始化的⽇期/时间格式器。可以根据需要使⽤applyPattern ⽅法来修改格式模式。
⽇期和时间模式
字母⽇期或时间元素表⽰⽰例
G
Era
标志符
Text
y
Year
1996; 96
M
年中的⽉份
Month
July; Jul; 07
w
年中的周数
Number
27
W
⽉份中的周数
Number
2
D
年中的天数
Number
189
d
⽉份中的天数
Number
10
F
⽉份中的星期
Number
2
E
星期中的天数
Text
Tuesday; Tue
a
am/pm 标记
Text
PM
H
⼀天中的⼩时数(0-23) Number
k
⼀天中的⼩时数(1-24) Number
24
K
am/pm 中的⼩时数(0-11) Number
h
am/pm 中的⼩时数(1-12) Number
12
m
⼩时中的分钟数
Number
string转date的方法s
分钟中的秒数
Number
55
S
毫秒数
Number
978
z
时区
General time zone
Pacific Standard Time; PST; GMT-08:00
Z
时区
RFC 822 time zone
-0800
SimpleDateFormat使⽤⽅法
根据上⾯的的“⽇期和时间模式”,设定需要匹配的模式,可以实现String与Date类型的互转,例如:String类型的时间转换成Date类型时间,⽐较常⽤的⼏种时间格式转换如下:
a. 时间格式: “2015-08-28”, 模式: “yyyy-MM-dd”
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = dateFormat.parse("2015-08-28");
1
2
b. 时间格式: “2015-08-28 18:28:30”, 模式: “yyyy-MM-dd HH:mm:ss”SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = dateFormat.parse("2015-08-28 18:28:30");
1
2
c. 时间格式: “2015-8-28”, 模式: “yyyy-M-d”
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-M-d");
Date date = dateFormat.parse("2015-8-28");
1
d. 时间格式: “2015-8-28 18:8:30”, 模式: “yyyy-M-d H:m:s”
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-M-d H:m:s");
Date date = dateFormat.parse("2015-8-28 18:8:30");
1
2
e. 时间格式: “Aug 28, 2015 6:8:30 PM”, 模式: “MMM d, yyyy h:m:s aa”
SimpleDateFormat dateFormat = new SimpleDateFormat("MMM d, yyyy h:m:s aa", Locale.ENGLISH);
Date date = dateFormat.parse("Aug 28, 2015 6:8:30 PM");
1
2
f. 时间格式: “Fri Aug 28 18:08:30 CST 2015”, 模式: “EEE MMM d HH:mm:ss ‘CST’ yyyy”
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE MMM d HH:mm:ss 'CST' yyyy", Locale.ENGLISH);
Date date = dateFormat.parse("Fri Aug 28 18:08:30 CST 2015");
1
2
Date类型的时间转换成String类型时间
这是“String类型的时间转换成Date类型时间”的逆向操作,只要将Date date = dateFormat.parse([String型时间]);换成String date = dateFormat.format([Date型时间]);即可。例如,将当前时间格式化成[yyyy年M⽉d⽇]的形式:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年M⽉d⽇");
String date = dateFormat.format(new Date());
1
2
注:我们在做时间格式转换时,主要是对匹配时间格式的模式;另外,英⽂格式的时间转换时需要带上Locale.ENGLISH,否则会转换失败,因为它默认的是本地化的设置,除⾮你的操作系统是英⽂的,总之时间转换时需要时间格式与模式保持⼀致。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。