Java中DateTimeFormatter的使用方法和案例

这篇具有很好参考价值的文章主要介绍了Java中DateTimeFormatter的使用方法和案例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🔔简介

在Java中,DateTimeFormatter类用于格式化和解析日期时间对象。它是日期时间格式化的强大而灵活的工具。

🔔作用

🌵1.本地化时间

本地化时间指根据指定的语言环境显示时间

Java中DateTimeFormatter的使用方法和案例,java,java,开发语言

1.1.创建DateTimeFormatter时指定Locale

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.CHINA);

1.2.使用该DateTimeFormatter格式化日期时间

LocalDate date = LocalDate.now();
String cnDate = date.format(formatter); 
这样就可以得到适合中国需求的日期格式"2021-10-01"。

1.3.可以通过Locale.US、Locale.UK等地区,从而得到不同格式

DateTimeFormatter usFormatter = DateTimeFormatter.ofPattern("MM/dd/yyyy", Locale.US);
DateTimeFormatter ukFormatter = DateTimeFormatter.ofPattern("dd/MM/yyyy", Locale.UK);
LocalDate date = LocalDate.now();
String usDate = date.format(usFormatter); // 10/01/2021
String ukDate = date.format(ukFormatter); // 01/10/2021

1.4.使用预定义的格式化常量指定地区

LocalDate date = LocalDate.now();
String cnDate = date.format(FormatStyle.LONG, Locale.CHINA); 
String frDate = date.format(FormatStyle.FULL, Locale.FRANCE);
🌵2.ISO/RFC规范格式

ISO和RFC定义了标准的日期时间格式,可以直接使用:

LocalDate date = LocalDate.now();

// ISO格式
String isoDate = date.format(ISO_LOCAL_DATE); 

// RFC格式 
String rfcDate = date.format(RFC_1123_DATE_TIME);
格式名称 描述 格式 示例
BASIC_ISO_DATE 基本ISO日期 yyyyMMdd 20111203
ISO_LOCAL_DATE ISO本地化日期 yyyy-MM-dd 2011-12-03
ISO_OFFSET_DATE 带偏移时区的ISO日期 yyyy-MM-ddXX 2011-12-03+01:00
ISO_DATE ISO 日期,可能带偏移量 yyyy-MM-dd 或者 yyyy-MM-ddXX 2011-12-03+01:00’;2011-12-03
ISO_LOCAL_TIME ISO本地化时间 HH:mm:ss 10:15:30
ISO_OFFSET_TIME 带偏移时区的ISO时间 HH:mm:ssXX 10:15:30+01:00
ISO_TIME ISO时间,可能带偏移量 HH:mm:ss 或者 HH:mm:ssXX 10:15:30+01:00;10:15:30
ISO_LOCAL_DATE_TIME ISO本地日期和时间 yyyy-MM-dd’T’HH:mm:ss 2011-12-03T10:15:30
ISO_OFFSET_DATE_TIME 带偏移时区的ISO日期 yyyy-MM-dd’T’HH:mm:ssXX 2011-12-03T10:15:30+01:00
ISO_ZONED_DATE_TIME 带时区的ISO日期和时间 yyyy-MM-dd’T’HH:mm:ssZZZZ 2011-12-03T10:15:30+01:00
ISO_DATE_TIME 带Zoneld的ISO日期和时间 yyyy-MM-dd’T’HH:mm:ssxxx 2011-12-03T10:15:30+01:00
ISO_ORDINAL_DATE 年份和一年的第N天 yyyy-DDD 2012-337
ISO_WEEK_DATE 年份-第N周-周N xxxx-'W’ww-e 2012-W48-6
ISO_INSTANT ISO时刻 2011-12-03T10:15:30Z
RFC_1123_DATE_TIME RFC 1123/RFC 822 Tue, 3 Jun 2008 11:05:30 GMT
🌵3.范式格式化

常见格式化:

年份:

  • YYYY:4位数字表示的年份,例如:2023
  • yyyy:4位数字表示的年份,例如:2023
  • YY:2位数字表示的年份,例如:23

月份:

  • MM:2位数字表示的月份,例如:01表示一月,12表示十二月
  • MMM:缩写形式的月份,例如:Jan表示一月,Dec表示十二月
  • MMMM:完整形式的月份,例如:January表示一月,December表示十二月

日:

  • DD dd:2位数字表示的日期,例如:01表示1号,31表示31号

星期几:

  • ddd:缩写形式的星期几,例如:Mon表示星期一,Sun表示星期日
  • dddd:完整形式的星期几,例如:Monday表示星期一,Sunday表示星期日

时间:

  • HH:24小时制的小时,例如:00表示午夜12点,23表示晚上11点
  • hh:12小时制的小时,例如:01表示上午1点,12表示下午12点
  • mm:分钟,例如:00表示整点,30表示30分钟
  • ss:秒,例如:00表示整分,59表示59秒
  • a:上午/下午标识,例如:AM表示上午,PM表示下午

参数列表整理:

符号 含义 示例
G 显示纪元文本 AD(公元)
u 年份 2023
У 公元年份 2023
D 一年的第N天 300
M或者L 月份 7;07; Jul; July;
d 一个月的第N目 9
Q或者q 年份中的季度 2; 02; Q2; 2rd quarter
Y 以周为基础的年份 1997;97
w 以周为基础的年份中的周 30
W 一个月的第N周 3
E 星期 Tue; Tuesday; T
e或者c 本地化星期 2; 02; Tue; Tuesday; T
F 一个月的第N周 2
a 一天中的上午(am)或者下午(pm) PM
h 上午下午12小时制(1-12) 10
K 上午下午11小时制(1-11) 1
k 上午下午(1-24) 14
H 小时制(0-23) 1
m 小时中的分钟 30
s 分秒 43
S 当前秒的毫秒 800
A 当前天的毫秒数 1111
n 当前秒的纳秒数 987654321
N 当前天的纳秒数 1234000000
V 时区ID America/Los_Angeles; Z; -08:30
z 时区名称 Pacific Standard Time; PST
O 本地化时区漂移 GMT+8; GM T+08:00; UTC-08:00
X offset-X Z; -08; -0830; -08:30; -083015; -08:30:15
x offset-x +0000; -08; -0830; -08:30; -083015; -08:30:15
Z offset-Z +0000; -0800; -08:00;
p pad modifier 1
分隔符
‘’ 不被解析的文字
[ 可选部分开始
] 可选部分结束

示例:

String pattern = "G uuuu'年'MMMd'日' ZZZZZ VV";
String format= DateTimeFormatter.ofPattern(pattern).format(ZonedDateTime.now());
System.out.println(format);

格式化结果显示:

公元 2023年10月01日 +08:00 Asia/hangzhou

范式格式化还提供了一些常用的格式化模式:文章来源地址https://www.toymoban.com/news/detail-718139.html

LocalDateTime dt = LocalDateTime.now();

// SHORT范式格式化  
String shortDt = dt.format(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT));

// MEDIUM范式格式化
String mediumDt = dt.format(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM)); 

🔔写在最后

如果大家对相关文章感兴趣,可以关注公众号"架构殿堂",会持续更新AIGC,java基础面试题, netty, spring boot, spring cloud等系列文章,一系列干货随时送达!

到了这里,关于Java中DateTimeFormatter的使用方法和案例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【Java 基础篇】Java 方法使用详解:让你轻松掌握方法的奥秘

    【Java 基础篇】Java 方法使用详解:让你轻松掌握方法的奥秘

    如果你正在学习Java编程,方法是一个不可或缺的重要概念。方法允许你将代码组织成可重用的块,提高了代码的可维护性和可读性。在本篇博客中,我们将深入探讨Java方法的使用,从基础概念开始,逐步介绍如何定义、调用、传递参数、返回值、异常处理以及方法的最佳实

    2024年02月10日
    浏览(11)
  • 【JAVA】方法的使用:方法语法、方法调用、方法重载、递归练习

    【JAVA】方法的使用:方法语法、方法调用、方法重载、递归练习

    🍉内容专栏:【JAVA从0到入门】 🍉本文脉络:JAVA方法的使用,递归练习 🍉本文作者:Melon_西西 🍉发布时间 :2023.7.19 目录 1. 什么是方法(method) 2 方法定义 2.1 方法定义语法格式  例子:两个数相加 例子:判断某一年是否为闰年并调用判断函数  2.2 方法定义注意事项 3 方法

    2024年02月14日
    浏览(31)
  • 深入了解 Java 方法和参数的使用方法

    方法是一块仅在调用时运行的代码。您可以将数据(称为参数)传递到方法中。方法用于执行特定的操作,它们也被称为函数。 重用代码:定义一次代码,多次使用。 提高代码的结构化和可读性。 将代码分解成更小的模块,易于维护和理解。 方法必须在类内声明。它的定义

    2024年02月19日
    浏览(13)
  • Java-方法的使用

    Java-方法的使用

    本章重点: 1. 掌握方法的定义以及使用 2. 掌握方法传参 3. 掌握方法重载 4. 掌握递归 1.1 什么是方法(method) 方法就是一个代码片段. 类似于 C 语言中的 \\\"函数\\\"。方法存在的意义(不要背, 重在体会): 1. 是能够模块化的组织代码(当代码规模比较复杂的时候). 2. 做到代码被重复使用

    2024年02月07日
    浏览(11)
  • Java——Switch的使用方法

    在分支结构中,我们除了使用if-else或者是if-else if之外,当分支量过大的时候,我们即可选择使用switch语句进行选择。 当我们需要实现输入 1 1 1 的时候打印出Hello,输入 2 2 2 的时候打印出World,输入其他数字的时候打印出error。 在switch语法中,switch()圆括号中写入判断的数字

    2024年02月07日
    浏览(9)
  • java的return使用方法

    java的return使用方法

    在java里面return有 三种用法 : 结果: break :用来跳出循环的.例如for循环,while循环,do-while循环等各种循环体,我们都可以使用break来跳出,但是如果我们是打算跳出函数的话,不能使用break,因为break不能跳出函数。 return :使整个函数返回的,后面不管是循环里面还是循环外

    2024年02月08日
    浏览(6)
  • java反射的基本使用方法

    当我们使用 Java 开发时,有时需要获取某个类的信息,例如类的属性、方法和构造函数等,然后在程序运行期间动态地操作它们。Java 反射就是用来实现这个目的的一种机制。 Java 反射(Reflection)是 Java 编程语言在运行时动态获取类的信息以及动态调用对象方法的能力。它可

    2024年02月16日
    浏览(12)
  • 【JavaSE】Java方法的使用

    【JavaSE】Java方法的使用

    【本节目标】 1. 掌握方法的定义以及使用 2. 掌握方法传参 3. 掌握方法重载 4. 掌握递归 目录 1.方法概念及使用 1.1什么是方法(method) 1.2 方法定义 1.3 方法调用的执行过程 1.4 实参和形参的关系 2. 方法重载 2.1 为什么需要方法重载 2.2 方法重载概念 3. 递归 3.1 生活中的故事 3.2 递

    2024年02月12日
    浏览(14)
  • 【Java基础篇】方法的使用(方法的重载和递归)

    【Java基础篇】方法的使用(方法的重载和递归)

    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏 :Java.SE,本专栏主要讲解运算符,程序逻辑控制,方法的使用,数组的使用,类和对象,继承和多态,抽象类和接口等内容 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 在

    2024年02月09日
    浏览(13)
  • 【Java基础篇】方法的使用(方法的使用以及形参实参的关系)

    【Java基础篇】方法的使用(方法的使用以及形参实参的关系)

    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏 :Java.SE,本专栏主要讲解运算符,程序逻辑控制,方法的使用,数组的使用,类和对象,继承和多态,抽象类和接口等内容 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 方

    2024年02月08日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包