SimpleDateFormat.parse()使用称为的实例变量
calendar从字符串构建日期。如果两个线程尝试同时解析,则
calendar变量将变得混乱,并且您将得到错误的结果。
将变量设为非静态不一定有帮助,因为两个线程可能仍在使用同一控制器。更好的解决方案是在每次解析日期时创建一个新的DateFormat对象,或者使用线程本地存储。更好的是,使用具有线程安全解析器的JodaTime。

SimpleDateFormat.parse()使用称为的实例变量
calendar从字符串构建日期。如果两个线程尝试同时解析,则
calendar变量将变得混乱,并且您将得到错误的结果。
将变量设为非静态不一定有帮助,因为两个线程可能仍在使用同一控制器。更好的解决方案是在每次解析日期时创建一个新的DateFormat对象,或者使用线程本地存储。更好的是,使用具有线程安全解析器的JodaTime。