首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 9 日期時間格式化全面對齊 Unicode LDML 標準

     編輯:Java 相關知識

Java 9 引入了一系列解析與格式化增強,使 java.time 包更貼近 Unicode 區域設置數據標記語言(LDML)。這項工作由 Joda-Time 創始人 Stephen Colebourne 主導,他也曾主導 Java 8 的 java.time 引入。遵循 Unicode 標準將顯著提升 Java 9 與非 Java 系統的互操作性。

背景:LDML 與 CLDR

LDML 是 Unicode 通用區域設置數據庫(CLDR)使用的語言。CLDR 收集全球區域設置數據,幫助應用適應不同文化。LDML 專門解決日期、時間、時區的格式化與解析問題。

Java 9 日期時間格式化

Java 9 新增的 LDML 對齊特性

  1. 模式字母 "g"(JDK-8148947):表示「簡化儒略日期」。與標準儒略日期不同:(1) 基於本地時間而非 GMT;(2) 以午夜而非正午劃分日期。
  2. 模式 "v" 與 "vvvv"(JDK-8155823):
    • v:通用非位置格式,如「太平洋時間」。
    • vvvv:通用位置格式,如「洛杉磯時間」。
  3. 模式字母 "A"、"n"、"N"(JDK-8148949):
    • A:一天中已過毫秒數(LDML 定義寬度可變),Java 早期實現為固定寬度,導致 AA 無法解析 >99 毫秒的值。
    • n、N:Java 擴展,分別表示秒內納秒數、天內納秒數。
  4. 修復 "DD" 解析三位積日失敗(JDK-8079628):模式 DD 原無法解析「123」作為第 123 天,現已修復固定寬度問題。

行業影響

Microsoft .NET、Node.js、Ruby 等技術棧均採用 LDML 進行區域設置數據交換。Java 9 的對齊將簡化跨系統集成,特別是微服務架構中的時間數據傳輸。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved