8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

格変化による日付の表現の違い

8
Last updated at Posted at 2017-06-28

格変化 - 国で変わる表現の違いについて

月名

英語や日本語での January や 1月 という表現はどんな場合でも単語は変化しない。

しかしロシア語、チェコ語、ポーランド語、フィンランド語などの一部の言語では「格変化」という語形の変化がある。
https://ja.wikipedia.org/wiki/%E6%A0%BC%E5%A4%89%E5%8C%96

「○月」を下記の2通りで表現する場合、格変化によりそれぞれ表現方法が異なる。

  • 単独で「○月」と書く場合
  • 年日などと合わせて「○年○月」「○月○日」と書く場合

例. フィンランド語の「1月」(http://whitebear0930.net/archives/5097 より)

日付の形式 表現
○月 tammikuu
○年○月など tammikuuta

Androidではこの表現を行うために 月名の日付形式として**「L」**パターンを用意している。
「L」であれば単独で使用する場合の月名が、「M」で単独で使用しない場合の月名が取得できる。

例. フィンランド語「1月」

日付形式 表現
MMM tammikuuta
MMMM tammikuuta
LLL tammi
LLLL tammikuu

単独で使用する & 省略形 の月名を取得したい場合は LLL を使用する。
MMM では省略形は取得できないことに注意。
格変化を持たない言語(英語、日本語など)では L は M と同じ扱いとなる。

曜日

曜日にも格変化があるため、単独で使用する場合の曜日用に「c」が用意されている。

例. フィンランド語「水曜」

日付形式 表現
E, EE, EEE ke
EEEE keskiviikkona
EEEEE K
EEEEEE ke
c, cc, ccc ke
cccc keskiviikko
ccccc K
cccccc ke

補足

日付形式のフォーマット

よく忘れるので付録。
何の文字を何個使うとこうなる、という例が細かく記載されている
android.icu.text.SimpleDateFormat の表が分かりやすいと思う。

Androidの日付パース用クラス

Androidで日付を表示する際に yyyy/MM/dd などの日付形式を使用してパースするクラスは色々ある。

Androidのバージョンによっては使用できるものが増えている。
API 24 (Android 7.0) からはICU(International Components for Unicode)対応版の android.icu.text パッケージが追加された。

API 26 (Android 8.0) からはJava 8で実装された java.time パッケージが追加された。

Qiita : Java8の日時APIはとりあえずこれだけ覚えとけ
http://qiita.com/tag1216/items/91a471b33f383981bfaa

java.text.SimpleDateFormat はJava版とAndroid版で挙動が異なっているのでAndroidで開発する際にはJava版との動作の違いに注意

Qiita : Android と Java では SimpleDateFormat の書き方がこう違う
http://qiita.com/arai-wa/items/272c9a09386872b8c643

java.text.SimpleDateFormat のリファレンスを見ると、日付形式のパターン表に L と c は記載されてないけどちゃんと使えます。

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?