BT

Java 9における日時フォーマットはユニコードロケール標準に近づく

| 作者: Abraham Marín Pérez フォローする 8 人のフォロワー , 翻訳者 阪田 浩一 フォローする 1 人のフォロワー 投稿日 2017年2月16日. 推定読書時間: 2 分 |

原文(投稿日:2017/02/14)へのリンク

多くの解析とフォーマットへの変更がJava 9に取り入れられている。これは機能をユニコードロケールデータマークアップ言語 (LDML)に近づけるためだ。変更はStephen Colebourne氏に監督されている。氏は有名な日時ライブラリであるJodaTimeの作成者で、Java 8での新しいjava.timeコンポーネントの先駆者だ。ユニコード標準を遵守することはJava以外の他のシステムとのよりよい相互運用性を提供するだろう。

LDMLはユニコード共通ロケールデータリポジトリ (CLDR)で使用される言語である。これはユニコードコンソーシアムのプロジェクトである。世界の異なる地域からロケールデータを集め保存するためのものだ。こうすることでアプリケーション開発者はプログラムを異なる文化により適応させられる。数ある中で、LDMLは日付、時間、タイムゾーン、とくに日付のフォーマットと解析を処理する。以下はJava 9での新機能の抜粋だ。java.timeはLDML仕様により近づく。

  • JDK-8148947はDateTimeFormatterパターンの文字‘g’について。文字‘g’は、LDMLで述べられていることとして“修正ユリウス日”を示す。これは通常のユリウス日と次の意味で異なる。a) これはGMTよりもローカル時間に依存する。b) これは正午ではなく夜の12時で日付の境界を定める。
  • JDK-8155823は日時パターンに'v' と'vvvv’追加する。‘v’と‘vvvv’はLDMLフォーマットである。これらは“位置を指定しない一般的なフォーマット”を示す。たとえば“太平洋標準時”は、“ロサンゼルス時間”のような都市を指定した“位置を指定した一般的なフォーマット”と反している。
  • JDK-8148949はDateTimeFormatterパターンに文字‘A’、’n’、’N’を追加する。LDMLはフォーマット’n’と’N’を指定せず‘A’を指定しているが、Javaでの現行の振る舞いはこの仕様に合っていない。‘A’は次のことを表すことになっている。1日での経過したミリ秒の値だ。これは可変の幅を持っているが、現在Javaはこれを固定の幅で扱う。もし‘AA’がパターンとして指定されれば、1日での99ミリ秒より進んだどんな値の解析にも失敗する。’n’と’N’はそれぞれ秒におけるナノ秒と1日におけるナノ秒を表す標準へのただのJavaの拡張である。
  • JDK-8079628は"DD"を含むjava.time DateTimeFormatterが3桁の1年における経過日の値の解析で失敗するということだ。上述の問題と似ているが、‘D’は1年における経過日を表す。もしパターンとして“DD”を指定すれば、1年における123番目の日“123”の解析に失敗する。

すでに言及したように、LDMLでのよりよい調整はシステム間の相互運用を簡単にするだろう。LDMLをある程度採用している複数の技術があるからだ。少し挙げると、マイクロソフトの.NETはロケールデータの一般的な中継にLDMLを使うし、Node.jsとRubyで利用できるパッケージがある。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT