SimpleDateFormat
是 Java 中用于格式化和解析日期的类。它允许将日期对象格式化为指定模式的字符串,也可以将指定格式的字符串解析为日期对象。以下是关于 SimpleDateFormat
的一些重要点:
-
格式化日期:将日期对象按照指定的格式转换为字符串。例如,将
Date
对象转换为 “yyyy-MM-dd” 格式的字符串。SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String formattedDate = sdf.format(new Date());
上述代码将当前日期转换为 “yyyy-MM-dd” 格式的字符串并存储在
formattedDate
中。 -
解析日期:将符合指定格式的字符串解析为
Date
对象。SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse("2024-06-18");
这段代码将字符串 “2024-06-18” 解析为对应的
Date
对象。 -
线程安全性:
SimpleDateFormat
是非线程安全的,不建议在多线程环境下共享实例。通常建议每个线程单独创建一个SimpleDateFormat
实例,或者使用ThreadLocal
来确保线程安全。 -
格式化模式:格式化模式由一系列的字母组成,每个字母代表日期或时间的不同部分(如年份、月份、小时等)。例如:
yyyy
:4位数的年份MM
:月份(01-12)dd
:月中的天数(01-31)HH
:24小时制的小时数(00-23)mm
:分钟数(00-59)ss
:秒数(00-59)
可以根据需要组合这些模式字母来定义日期和时间的格式。
-
异常处理:在解析过程中,如果提供的字符串无法按指定格式解析成日期,会抛出
ParseException
异常。因此在使用时需要考虑异常处理机制。
SimpleDateFormat
是 Java 中处理日期和时间的基础类之一,尽管它不是线程安全的,但在单线程环境下使用非常方便和高效。