欢迎来到之路教程(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时代StringAD; 公元
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上午/下午细绳下午
ham pm (1-12) 的时钟时间数字12
K上午的时间 (0-11)数字0
kam 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偏移-XZ 或者 -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局部区域偏移偏移-OGMT+8 或者 GMT+08:00 或者 UTC-08:00
pPad nextPad modifier1
在 Java 8 中如何将日期格式化为字符串。

在 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