1、SimpleDateFormat 可以解析大于/等于它定义的时间精度,但不能解析小于它定义的时间精度

    1. /* SimpleDateFormat可以解析大于或等于它定义的时间精度 */
    2. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    3. // 解析大于它定义的时间精度:Sun Dec 20 00:00:00 CST 2020
    4. System.out.println(sdf.parse("2020-12-20 15:50:30"));
    5. // 解析小于它定义的时间精度:java.text.ParseException异常
    6. System.out.println(sdf.parse("2020-12"));

    2、它是线程不安全的,在多线程环境下操作,会抛异常
    解决思路:

    • 定义局部变量
    • 使用ThreadLocal
    • 使用 synchronized