文章目录
一、SimpleDateFormat简介
SimpleDateFormat
是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。
(1)SimpleDateFormat的构造方法
方法名 | 说明 |
---|---|
public SimpleDateFormat() | 构造一个SimpleDateFormat,使用默认模式和日期格式 |
public SimpleDateFormat(String pattern) | 构造一个SimpleDateFormat使用给定的模式和默认的日期格式 |
(2)SimpleDateFormat格式化和解析日期
1、格式化(从Date到String)
public final String format(Date date):将日期格式化成日期/时间字符串
2、解析(从String到Date)
public Date pase(String source):从给定字符串的开始解析文本以生成日期
二、SimpleDateFormat多线程引发安全原因
(1)什么是线程不安全?
线程不安全也叫非线程安全,是指多线程执行中,程序的执行结果和预期的结果不符的情况就叫做线程不安全。
错误代码示例
public class Test {
private static final SimpleDateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static void main(String[] args) {
for (int i = 0; i < 10; ++i) {
Thread thread = new Thread(() -> {
try {
System.out.println(Thread.currentThread().getName() + "--" + SIMPLE_DATE_FORMAT.parse("2021-07-01 12:37:00"));
} catch (Exception