datetimeformatter 常用格式类型
DatetimeFormatter 是Java 8 的一个类,用于将日期、时间和时间间隔对象转换为字符串表示形式,以及将字符串表示形式转换为日期、时间和时间间隔对象。DatetimeFormatter 提供了一系列常用的格式类型,用于满足不同的日期和时间格式需求。本文将一步一步回答关于 DatetimeFormatter 常用格式类型的问题,并提供相应的示例代码。
字符串常量的格式1. DatetimeFormatter 常用格式类型有哪些?
DatetimeFormatter 提供了诸多常用的格式类型,如下所示:
- 'G': 代表时代字符串(例如 'AD' 或者 'BC')。
- 'y': 代表四位数的年份。
- 'Y': 代表年份,可以是任意位数(不限制为四位)。
- 'M': 代表月份,格式为一位或两位数字。
- 'L': 代表月份,格式为一位或两位数字,如果是一位数则没有前导零。
- 'd': 代表日期,格式为一位或两位数字。
- 'E': 代表星期几的文本表示(例如 'Mon' 或者 'Fri')。
- 'a': 代表上午或下午的文本表示(例如 'AM' 或者 'PM')。
- 'H': 代表一天中的小时数,格式为一位或两位数字(00-23)。
- 'k': 代表一天中的小时数,格式为一位或两位数字(1-24)。
- 'K': 代表上午或下午的小时数,格式为一位或两位数字(0-11)。
- 'h': 代表上午或下午的小时数,格式为一位或两位数字(1-12)。
- 'm': 代表分钟数,格式为一位或两位数字。
- 's': 代表秒数,格式为一位或两位数字。
- 'S': 代表毫秒数,格式为一位或多位数字。
- 'z': 代表时区偏移量字符串(例如 '+0800' 或者 'GMT+8')。
- 'Z': 代表时区名称缩写字符串(例如 'CST' 或者 'GMT+8')。
2. 如何在代码中使用 DatetimeFormatter 的格式类型?
在使用 DatetimeFormatter 的格式类型之前,首先需要创建一个 DateTimeFormatter 实例。可以通过调用 DateTimeFormatter 的静态方法 ofPattern(pattern) 来创建一个自定义格式的 DateTimeFormatter。其中,pattern 参数是一个字符串,用于指定日期和时间的格式。以下是一个简单的示例:
java
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
上述代码创建了一个格式为 "yyyy-MM-dd HH:mm:ss" 的 DateTimeFormatter 实例,用于将日期和时间对象转换为字符串形式。
3. 如何将日期对象转换为字符串?
使用 DateTimeFormatter 对象的 format 方法可以将日期对象转换为字符串。以下是一个示
例代码:
java
LocalDateTime now = w();
String formattedDateTime = formatter.format(now);
System.out.println("Formatted Date and Time: " + formattedDateTime);
上述代码将获取当前日期和时间,并使用 DateTimeFormatter 对象将其转换为字符串形式。最后,将转换后的字符串打印输出。
4. 如何将字符串转换为日期对象?
使用 DateTimeFormatter 对象的 parse 方法可以将字符串转换为日期对象。以下是一个示例代码:
java
String strDateTime = "2022-05-30 12:30:45";
LocalDateTime parsedDateTime = LocalDateTime.parse(strDateTime, formatter);
System.out.println("Parsed Date and Time: " + parsedDateTime);
上述代码将一个字符串形式的日期和时间,使用 DateTimeFormatter 对象将其转换为 LocalDateTime 对象。最后,将转换后的日期对象打印输出。
5. 如何自定义一个日期时间格式?
可以通过自定义 pattern 字符串来创建一个自定义的日期时间格式。以下是一些常用的 pattern 字符含义:
- 'yyyy':四位数的年份;
- 'MM':两位数的月份;
- 'dd':两位数的日期;
-
'HH':两位数的小时数(24 小时制);
- 'mm':两位数的分钟数;
- 'ss':两位数的秒数;
- 'S':毫秒数;
- 'z':时区偏移量。
以下是一个示例代码:
java
DateTimeFormatter customFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss.SSS z");
上述代码创建了一个自定义格式的 DateTimeFormatter 实例,用于将日期和时间转换为格式为 "yyyy/MM/dd HH:mm:ss.SSS z" 的字符串。
6. 什么是预定义的日期时间格式?
除了自定义格式外,DatetimeFormatter 还提供了一些预定义的日期时间格式。使用 DateTimeFormatter 类的常量可以直接根据预定义格式创建 DateTimeFormatter 实例。以下是一些常用的预定义日期时间格式类型:
- ISO_DATE:代表日期格式 "yyyy-MM-dd";
- ISO_TIME:代表时间格式 "HH:mm:ss.SSS";
- ISO_DATE_TIME:代表日期和时间格式 "yyyy-MM-dd'T'HH:mm:ss.SSSX";
- RFC_1123_DATE_TIME:代表 RFC-1123 格式的日期和时间。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。