iOS開発者のAndroid開発入門その3(日付操作)

botman3 Android

さいしょに

日付について書くつもりはなかったけど CalendarView を使おうとしたら日付の設定方法がわりとわからなかったのでまとめ。

日付

Datejava.util.Date を使うみたい。

現在日時取得

日付操作

指定の Date の2日後がほしいといった場合は java.util.Calendar を使うみたい。

現在日時取得

日付操作

年など各要素取得

日付比較

フォーマット

日付フォーマットには下記の3つのクラスがある

それぞれ下記のように定義されており、java.text.DateFormat は抽象クラスなので日付フォーマットに利用できるのは java.text.SimpleDateFormat と android.text.format.DateFormat の2つである。

java.text.SimpleDateFormat

端末のロケール設定に依らず決まったフォーマットにしたい場合はこちらを使う。フォーマットには下記の関数が用意されている。文字列から日付への変換はこっちを使う。

コンストラクタは下記の3つが用意されている。

現在時刻表示(日付 -> 文字列)

文字列 -> 日付変換

色々ハマりポイントがあるらしい(SimpleDateFormat の罠まとめ & 対策コード例 - ~saiya/hatenablog

実在しない日時が通る

isLenientfalse を設定すれば ParseException になる

桁数不足や末尾が余計でも通る

android.text.format.DateFormat

端末のロケール設定に従う場合はこちらを使う。フォーマットには下記3つの関数が用意されている。

現在時刻表示

さいごに

なんかクラスが色々あってややこしい。java.time.LocalDate もあった。。。とりあえずいいや。

参考

コメント

タイトルとURLをコピーしました