LoginSignup
13
14

More than 5 years have passed since last update.

AndroidでJSR310

Last updated at Posted at 2015-06-01

追記
今は以下を使うのがよいと思います。
https://github.com/JakeWharton/ThreeTenABP

2年程前にAndroidを始めたばかりの頃、日付時刻を扱うときはandroid.text.format.Timeを使えみたいな話を聞いて日付時刻処理には極力Timeクラスを使うようにしていたのですが、数ヶ月前に@deprecatedになってしまっていたので代替となるものを探していました。

公式ドキュメントには代わりにGregorianCalendarを使えと書いてあったけれど、今更感があったのでJava8のDate and Time APIのバックポートライブラリであるthreetenbpを使うことにしました。(何かの機会でJava8書くときに勉強しなくていいし)

2015/06/04追記
正式にJava8サポートされる可能性が出てきたのでちょうど良いかも
https://android-review.googlesource.com/#/c/150214/

導入

依存関係を追加

build.gradle
compile 'org.threeten:threetenbp:1.2'

proguardの設定を追加

proguard-rules.pro
-dontwarn java.util.spi.LocaleServiceProvider
-dontwarn sun.util.calendar.*
-keep class org.threeten.bp.zone.*

よく使うクラス

org.threeten.bp.LocalDate
org.threeten.bp.LocalDateTime
org.threeten.bp.ZonedDate
org.threeten.bp.ZonedDateTime
org.threeten.bp.Instant

簡単な用途なら

  • 日付のみを扱うか、日付+時刻を扱うか
  • タイムゾーンを含めるか

で使うクラスを決めて、

  • エポックタイムを扱う場合はInstantを使う

と覚えておけばなんとかなると思います。

13
14
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
13
14