0%

java日期

文章字数:439,阅读全文大约需要1分钟

java8也新加入了功能更强大的日期,但是本次主要是记录常用的日期格式化,所以讨论的是java.util.Date

获取日期

  • Date()获取当前时间
  • Date(long millisec)距离格林威治时间1970年1月1日millisec毫秒的时间
  • date.getTime()>date2.getTime()判断时间的前后

    格式化

    1
    2
    3
    Date 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
2
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(date));

字符串转日期

把对应格式的字符串转解析成为日期,如果字符串不匹配规则(比指定的规则数据少)则报错。
并且需要捕获ParseException

1
Exception in thread "main" java.text.ParseException: Unparseable date: "2019-10-24"

解析

1
2
3
String string = "2016-10-24 21:59:06";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.parse(string));

总结,1.先创建SimpleDateFormat(“规则”);2.format转换,parse解析。