温馨提示×

Java SimpleDateFormat日期格式有哪些规范

小樊
82
2024-10-12 14:59:18
栏目: 编程语言

Java中的SimpleDateFormat类用于日期和时间的格式化和解析。以下是它的一些主要规范:

  1. 基本格式:

    • yyyy:四位数的年份(如2023)
    • yy:两位数的年份(如23)
    • MM:月份(01-12)
    • dd:日(01-31)
    • E:星期几的全称(如Monday)
    • ee:星期几的缩写(如Mon)
    • a:上午/下午的标识符(AM/PM)
    • hh:12小时制的小时数(01-12)
    • kk:24小时制的小时数(01-23)
    • mm:分钟数(00-59)
    • ss:秒数(00-59)
    • S:毫秒数(0-999)
  2. 日期和时间组合格式:

你可以将上述基本格式组合起来以创建更复杂的日期和时间格式。例如:

* `yyyy-MM-dd`:年-月-日(如2023-07-14)
* `yyyy-MM-dd HH:mm`:年-月-日 时:分(如2023-07-14 15:30)
* `yyyy/MM/dd`:年/月/日(如2023/07/14)
* `yyyy-MM-dd'T'HH:mm:ss.SSSXXX`:年-月-日'T'时:分:秒.毫秒XXX(如2023-07-14T15:30:00.000+08:00)
  1. 特殊字符:

    • \:用于转义特殊字符。例如,yyyy\\MM\\dd将表示yyyy/MM/dd
    • ':用于包围单引号字符。例如,yyyy'年'MM'月'将表示yyyy年MM月
  2. 时区:

使用Zz可以表示时区。例如,yyyy-MM-dd'T'HH:mm:ss.SSSXXX中的XXX表示时区偏移量。 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)); // 输出当前日期和时间
    }
}

注意:SimpleDateFormat不是线程安全的,因此在多线程环境中使用时需要注意。如果需要线程安全的日期格式化工具,可以考虑使用java.time包中的类,如LocalDateLocalTimeDateTimeFormatter

0