欢迎来到之路教程(on itroad-com)
模式字符串
DateTimeFormatter
提供了两种定义模式的方法:
- 近 15 个内置预定义模式,例如
ISO_LOCAL_DATE
('2011-12-03') 或者ISO_OFFSET_DATE_TIME
('2011-12-03T10:15:30+01:00') - 任何使用
DateTimeFormatter.ofPattern(pattern)
的自定义模式
自定义模式字符串可以有任意数量的预定义字母和符号,它们有自己的含义。
最常用的符号是:Y、M、D、h、m 和 s
。
另请注意,模式中字母的重复次数也有不同的含义。
例如,“MMM”
给出“Jan”
,而“MMMM”
给出 “January”。
让我们看看这些符号以供快速参考。
Symbol | 含义 | 类型 | 例子 |
---|---|---|---|
G | 时代 | String | AD; 公元 |
y | 年代 | 年 | 2004 或者 04 |
u | 年代 | 年 | 与 'y' 类似,但返回预测年份。 |
D | 一年中的一天 | 数字 | 235 |
M / L | 一年中的月份 | 数字/字符串 | 7 或者 07;J 或者 May 或者 July |
d | 每月的第几天 | 数字 | 21 |
Q / q | 一年的季度 | 数字/字符串 | 3 或者 03;第三季度或者第三季度 |
Y | 基于周的年份 | 年 | 1996 或者 96 |
w | 基于周的年 | 数字 | 32 |
W | 一个月中的一周 | 数字 | 3 |
e / c | 本地化的星期几 | 数字/字符串 | 2 或者 02;T 或者周二或者周二 |
E | 星期几 | 细绳 | T 或者周二或者周二 |
F | 一个月中的一周 | 数字 | 3 |
a | 上午/下午 | 细绳 | 下午 |
h | am pm (1-12) 的时钟时间 | 数字 | 12 |
K | 上午的时间 (0-11) | 数字 | 0 |
k | am pm (1-24) 的时钟时间 | 数字 | 15 |
H | 一天中的小时 (0-23) | 数字 | 15 |
m | 一分钟 | 数字 | 30 |
s | 分钟秒 | 数字 | 55 |
S | 秒的分数 | 分数 | 978 |
A | 一天的毫秒数 | 数字 | 1234 |
n | 纳秒秒 | 数字 | 987654321 |
N | 一天的纳秒 | 数字 | 1234560000 |
V | 时区标识 | 区域标识 | America/Los_Angeles 或者 Z 或者 -08:30 |
z | 时区名称 | 区域名称 | 太平洋标准时间或者 PST |
X | 零的区域偏移 Z | 偏移-X | Z 或者 -08 或者 -0830 或者 -08:30 或者 -083015 或者 -08:30:15 |
x | 区域偏移 | 偏移-x | +0000 或者 -08 或者 -0830 或者 -08:30 或者 -083015 或者 -08:30:15 |
Z | 区域偏移 | 偏移-Z | +0000 或者 -0800 或者 -08:00 |
O | 局部区域偏移 | 偏移-O | GMT+8 或者 GMT+08:00 或者 UTC-08:00 |
p | Pad next | Pad modifier | 1 |
在 Java 8 中,我们可以使用 DateTimeFormatter
来处理所有类型的日期和时间相关的格式化任务。
它是线程安全的或者不可变的,因此可以在没有风险的并发环境中使用。
示例:
import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class DateFormatting { public static void main(String[] args) { String dateTimeString = formatLocalDateTime(LocalDateTime.now()); System.out.println(dateTimeString); //2020-05-08 23:17:22 PM String dateString = formatLocalDate(LocalDate.now()); System.out.println(dateString); //2020-05-08 } //Format LocalDateTime to String public static final String TIMESTAMP_PATTERN = "yyyy-MM-dd HH:mm:ss a"; public static final DateTimeFormatter LDT_FOMATTER = DateTimeFormatter.ofPattern(TIMESTAMP_PATTERN); private static String formatLocalDateTime(LocalDateTime ldt) { return LDT_FOMATTER.format(ldt); } //Format LocalDate to String public static final String DATE_PATTERN = "yyyy-MM-dd"; public static final DateTimeFormatter LD_FOMATTER = DateTimeFormatter.ofPattern(DATE_PATTERN); private static String formatLocalDate(LocalDate ld) { return LD_FOMATTER.format(ld); } }
日期:2020-09-17 00:09:19 来源:oir作者:oir