📜  在Java中将公历更改为 SimpleDateFormat(1)

📅  最后修改于: 2023-12-03 14:51:17.348000             🧑  作者: Mango

在Java中将公历更改为 SimpleDateFormat

简介

在Java中,可以使用 SimpleDateFormat 类来将公历日期格式化为不同的字符串表示。SimpleDateFormat 是一个用来格式化和解析日期的类,它可以将日期对象转换为特定格式的字符串,也可以将特定格式的字符串转换成对应的日期对象。

使用 SimpleDateFormat 类的基本步骤
  1. 创建一个 SimpleDateFormat 对象,指定日期格式:
SimpleDateFormat sdf = new SimpleDateFormat("格式字符串");
  1. 使用 SimpleDateFormat 对象将日期对象格式化为字符串:
String formattedDate = sdf.format(date);
  1. 使用 SimpleDateFormat 对象将字符串解析为日期对象:
Date parsedDate = sdf.parse(formattedDate);
格式字符串

可以使用以下字符来定义 SimpleDateFormat 的格式字符串:

| 字符 | 描述 | 示例 | |------|--------------------|-----------------------------| | G | 纪元 | AD | | y | 年 | 2022 | | M | 月 | 7, 07 | | w | 年中的周数 | 1-53 | | W | 月中的周数 | 1-5 | | D | 年中的天数 | 1-365 | | d | 月份中的天数 | 1-31 | | F | 月份中的星期几 | 1-5 | | E | 星期几 | 星期一, Mon | | a | 上午/下午标记 | AM/PM | | H | 一天中的小时(24h)| 0-23 | | k | 一天中的小时(1-24)| 1-24 | | K | 上午/下午的小时(0-11)| 0-11 | | h | 上午/下午的小时(1-12)| 1-12 | | m | 分钟 | 0-59 | | s | 秒 | 0-59 | | S | 毫秒 | 0-999 | | z | 时区 | GMT+08:00 | | Z | 时区偏移(+/-hh:mm)| +0800 |

示例

下面是一些示例代码,展示如何使用 SimpleDateFormat 类将公历日期格式化为不同的字符串表示:

import java.text.SimpleDateFormat;
import java.util.Date;

public class Main {
    public static void main(String[] args) {
        Date date = new Date();

        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
        String formattedDate1 = sdf1.format(date);
        System.out.println(formattedDate1);

        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd");
        String formattedDate2 = sdf2.format(date);
        System.out.println(formattedDate2);

        SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String formattedDate3 = sdf3.format(date);
        System.out.println(formattedDate3);

        SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
        String formattedDate4 = sdf4.format(date);
        System.out.println(formattedDate4);
    }
}

输出结果:

2022-07-14
2022/07/14
2022-07-14 10:23:45
2022-07-14 10:23:45.678
注意事项
  • SimpleDateFormat 类是非线程安全的,不应该在多线程环境下共享实例。
  • 在使用 SimpleDateFormat 类解析字符串时,应该确保字符与格式字符串的对应关系正确,否则会引发 ParseException 异常。
  • 格式字符串中的字符可以根据需要进行组合,并可以添加自定义的分隔符。

更多关于 SimpleDateFormat 类的详细信息,请参考官方文档:SimpleDateFormat (Java SE 11 & JDK 11 )