当前位置: 首页 > news >正文

Java 日期时间格式化模式说明

Java 中日期时间格式化使用特定的模式字符串来定义输出格式。以下是常见的格式化符号及其含义,适用于 SimpleDateFormat 和 DateTimeFormatter


一、日期部分格式化符号

符号含义示例
y年 (Year)yyyy → 2023
M月 (Month)MM → 09, MMM → Sep, MMMM → September
d月中的日 (Day of month)dd → 05, d → 5
D年中的日 (Day of year)D → 256 (第256天)
E星期几 (Day of week)E → Mon, EEEE → Monday
F月中的第几个星期几F → 1 (每月的第一个星期四)
w年中的周 (Week of year)w → 38 (第38周)
W月中的周 (Week of month)W → 3 (第3周)

二、时间部分格式化符号

符号含义示例
H小时 (0-23)HH → 08
k小时 (1-24)k → 24
K小时 (0-11, AM/PM)KK → 08
h小时 (1-12, AM/PM)hh → 08
m分钟 (Minute)mm → 30
s秒 (Second)ss → 45
S毫秒 (Millisecond)SSS → 789
n纳秒 (Nanosecond)n → 123456789
aAM/PM 标记a → AM

三、时区格式化符号

符号含义示例
z时区名称z → CST, zzzz → China Standard Time
Z时区偏移量Z → +0800, XXX → +08:00
O本地化时区偏移O → GMT+8
XISO 8601 时区X → +08, XX → +0800, XXX → +08:00

四、常见格式示例

1. 基本日期时间格式

  • yyyy-MM-dd → 2023-09-15

  • MM/dd/yyyy → 09/15/2023

  • dd-MMM-yyyy → 15-Sep-2023

  • yyyy-MM-dd HH:mm:ss → 2023-09-15 14:30:45

  • yyyy-MM-dd HH:mm:ss.SSS → 2023-09-15 14:30:45.789

2. 带时区的格式

  • yyyy-MM-dd HH:mm:ss Z → 2023-09-15 14:30:45 +0800

  • yyyy-MM-dd HH:mm:ss XXX → 2023-09-15 14:30:45 +08:00

  • yyyy-MM-dd'T'HH:mm:ss.SSSZ → 2023-09-15T14:30:45.789+0800 (ISO 8601)

3. 可读性强的格式

  • EEEE, MMMM d, yyyy → Friday, September 15, 2023

  • hh:mm a → 02:30 PM

  • h:mm a, zzzz → 2:30 PM, China Standard Time


五、使用示例

SimpleDateFormat (传统API)

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formatted = sdf.format(new Date());
// 输出: 2023-09-15 14:30:45

DateTimeFormatter (Java 8+)

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formatted = LocalDateTime.now().format(formatter);
// 输出: 2023-09-15 14:30:45

ISO 8601 格式

Instant.now().toString();  // 自动使用ISO 8601格式
// 输出: 2023-09-15T06:30:45.789Z

六、特殊字符处理

DateTimeFormatter.ofPattern("yyyy-MM-dd 'at' HH:mm:ss");
// 输出: 2023-09-15 at 14:30:45

七、本地化格式

// Java 8 方式
DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG).withLocale(Locale.CHINA);
// 输出: 2023年9月15日 下午02时30分45秒 (中文环境)

http://www.lryc.cn/news/607702.html

相关文章:

  • 蓝桥杯----DA、AD
  • Prim算法
  • 26数据结构-顺序表
  • python列表推导式
  • windows系统安装文生图大模型Stable diffusion V3.5 large(完整详细可用教程)
  • 损失函数和调度器相关类代码回顾理解 |nn.CrossEntropyLoss\CosineAnnealingLR
  • 接口幂等性
  • 数据库小知识
  • C4画图实战案例分享
  • 利用CompletableFuture优化查询效率
  • FreeRTOS硬件中断发生时的现场
  • 逻辑回归在银行贷款审批中的应用:参数选择与实践
  • c++详解(宏与内联函数,nullptr)
  • 查看主板信息的3种方法
  • PL-0功能拓展及基于VSCode的IDE配置
  • QT开发---图形与图像(补充)
  • 逻辑斯蒂回归的模型优化
  • 疯狂星期四文案网第26天运营日记
  • 台式机 Server 20.04 CUDA11.8
  • 上海月赛kk
  • 电力系统与变压器实验知识全总结 | 有功无功、同步发电机、短路空载实验、电压调整率、效率条件全讲透!
  • 学习嵌入式第十七天
  • 基于coze studio开源框架二次定制开发教程
  • 幂等性校验(订单重复提交问题)
  • IOMMU Client设备DMA配置过程分析(九)
  • STM32 使用 RTC 实现实时时钟功能
  • C语言:20250801学习(构造类型)
  • 机器学习:开启智能时代的钥匙
  • MySQL 高并发下如何保证事务提交的绝对顺序?
  • 学习笔记:原子操作与锁以及share_ptr的c++实现