1、SimpleDateFormat 可以解析大于/等于它定义的时间精度,但不能解析小于它定义的时间精度
/* SimpleDateFormat可以解析大于或等于它定义的时间精度 */
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 解析大于它定义的时间精度:Sun Dec 20 00:00:00 CST 2020
System.out.println(sdf.parse("2020-12-20 15:50:30"));
// 解析小于它定义的时间精度:java.text.ParseException异常
System.out.println(sdf.parse("2020-12"));
2、它是线程不安全的,在多线程环境下操作,会抛异常
解决思路:
- 定义局部变量
- 使用ThreadLocal
- 使用 synchronized