Java中的SimpleDateFormat類用于日期和時(shí)間的格式化和解析。以下是它的一些主要規(guī)范:
基本格式:
yyyy
:四位數(shù)的年份(如2023)yy
:兩位數(shù)的年份(如23)MM
:月份(01-12)dd
:日(01-31)E
:星期幾的全稱(如Monday)ee
:星期幾的縮寫(如Mon)a
:上午/下午的標(biāo)識符(AM/PM)hh
:12小時(shí)制的小時(shí)數(shù)(01-12)kk
:24小時(shí)制的小時(shí)數(shù)(01-23)mm
:分鐘數(shù)(00-59)ss
:秒數(shù)(00-59)S
:毫秒數(shù)(0-999)日期和時(shí)間組合格式:
你可以將上述基本格式組合起來以創(chuàng)建更復(fù)雜的日期和時(shí)間格式。例如:
* `yyyy-MM-dd`:年-月-日(如2023-07-14)
* `yyyy-MM-dd HH:mm`:年-月-日 時(shí):分(如2023-07-14 15:30)
* `yyyy/MM/dd`:年/月/日(如2023/07/14)
* `yyyy-MM-dd'T'HH:mm:ss.SSSXXX`:年-月-日'T'時(shí):分:秒.毫秒XXX(如2023-07-14T15:30:00.000+08:00)
特殊字符:
\
:用于轉(zhuǎn)義特殊字符。例如,yyyy\\MM\\dd
將表示yyyy/MM/dd
。'
:用于包圍單引號字符。例如,yyyy'年'MM'月'
將表示yyyy年MM月
。時(shí)區(qū):
使用Z
或z
可以表示時(shí)區(qū)。例如,yyyy-MM-dd'T'HH:mm:ss.SSSXXX
中的XXX
表示時(shí)區(qū)偏移量。
5. 使用示例:
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
public static void main(String[] args) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date date = new Date();
System.out.println(sdf.format(date)); // 輸出當(dāng)前日期和時(shí)間
}
}
注意:SimpleDateFormat不是線程安全的,因此在多線程環(huán)境中使用時(shí)需要注意。如果需要線程安全的日期格式化工具,可以考慮使用java.time
包中的類,如LocalDate
、LocalTime
和DateTimeFormatter
。