文章字数:439,阅读全文大约需要1分钟
java8也新加入了功能更强大的日期,但是本次主要是记录常用的日期格式化,所以讨论的是
java.util.Date
获取日期
Date()
获取当前时间Date(long millisec)
距离格林威治时间1970年1月1日millisec毫秒的时间date.getTime()>date2.getTime()
判断时间的前后格式化
1
2
3Date now = new Date( );
SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
System.out.println("Current Date: " + ft.format(now));
解析格式
字母 | 日期 | 示例 |
---|---|---|
G | era标志 | AD |
y | 年 | 1996 或 96 |
M | 月 | July Jul 07 |
w | 年中的第几周 | 27 |
W | 月份中的第几周 | 2 |
D | 年中的第几天 | 189 |
d | 月中的第几天 | 10 |
F | 月中的第几星期 | 2 |
E | 星期中的第几天 | Tuesday Tue |
a | Am/Pm 上下午 | PM |
H | 今天的第几小时0-23 | 0 |
k | 今天的第几小时1-24 | 24 |
K | 上下午几点0-11 | 11 |
h | 上下午几点1-12 | 12 |
m | 小时中的分钟 | 30 |
s | 分钟中的秒数 | 30 |
S | 毫秒 | 978 |
z | 时区 | Pacific standard Time;PST;GMT-08:00 |
Z | 时区 | -0800 |
日期格式化成字符串
1 | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
字符串转日期
把对应格式的字符串转解析成为日期,如果字符串不匹配规则(比指定的规则数据少)则报错。
并且需要捕获ParseException
1 | Exception in thread "main" java.text.ParseException: Unparseable date: "2019-10-24" |
解析
1 | String string = "2016-10-24 21:59:06"; |
总结,1.先创建SimpleDateFormat(“规则”);2.format转换,parse解析。