时间API-Java时间格式化-《Java笔记》

admin 2025-10-19 02:42:58 编程 来源:ZONE.CI 全球网 0 阅读模式

Java

新API的时间格式化

新的时间API的时间格式化由java.time.format.DateTimeFormatter负责。

本地化时间

结合枚举FormatStyle定义的风格,DateTimeFormatter预定义了基于本地(Locale)风格的时间格式。来看这段代码:

  1. String format = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM)
  2. .format(ZonedDateTime.now());

如果在中国,格式化结果:

  1. 202216 下午4:22:01

如果在美国:

  1. Jan 6, 2022, 4:21:10 PM

有三个静态方法及其重载来格式化本地化时间,具体已经整理成了思维导图:本地化日期时间的处理

ISO/RFC规范格式

DateTimeFormatter还内置了ISO和RFC的时间格式,基于内置的DateTimeFormatter静态实例。举个例子:

  1. // 静态实例
  2. DateTimeFormatter isoWeekDateFormatter = DateTimeFormatter.ISO_WEEK_DATE;
  3. // 执行格式化
  4. String format = isoWeekDateFormatter.format(LocalDateTime.now());
  5. // format = 2022-W01-4
  6. System.out.println("format = " + format);

其它的如下表格所示:内置ISO、RFC规范格式

范式格式化

这种方式应该是最常用的方式了。通过字母和符号来构建一个范式(Patterns),使用ofPattern(String)或者ofPattern(String, Locale)方法传递构建的范式。例如,d MMM uuuu将把2011-12-03格式化为2011年12月3日。从一个模式中创建的格式可以根据需要多次使用,它是不可改变的,并且是线程安全的。看点没见过的:

  1. // 最后面是两个V 不是W 单个V会报错
  2. String pattern = "G uuuu'年'MMMd'日' ZZZZZ VV";
  3. String format= DateTimeFormatter.ofPattern(pattern).format(ZonedDateTime.now());
  4. // format = 2022-W01-4
  5. System.out.println("format = " + format);

输出:

  1. format = 公元 202217 +08:00 Asia/Shanghai

表格整理好了,自己试一试:格式化符号对照表

以太坊cppgolang区别 编程

以太坊cppgolang区别

以太坊是一种去中心化的开源平台,它采用智能合约技术,旨在构建和运行不受干扰的分布式应用程序。作为目前最受欢迎的区块链平台之一,以太坊提供了多种编程语言的支持,其
progolang 编程

progolang

Go语言(Golang)是由Google开发的一门静态类型编程语言。作为一名专业的Golang开发者,我深知这门语言的优势和特点。在本文中,我将介绍Golang
golangn个发送者 编程

golangn个发送者

Golang是一种开源的编程语言,由Google团队开发,旨在提高程序的并发性和简化软件开发过程。在Go语言中,有时需要向多个接收者发送信息。本文将介绍如何在G
golang技能图谱 编程

golang技能图谱

从互联网行业的快速发展到人工智能技术的日益成熟,各种编程语言也应运而生。而在这众多的编程语言中,Golang(即Go)作为一门强大且高效的开发语言备受关注。Go
评论:0   参与:  7