KotlinでDateやTimeを利用する

投稿者: | 2019年10月26日

KotlinでのDateやTimeの扱い

驚いたことにKotlinの標準ライブラリにはDateやTimeを扱うためのものがない。どうするか?というとJavaのAPIを利用するのである。

そこで注意点がある。

JavaのVersionとAndroid Versionの関係

DateやTimeのJava APIはJava 8以前と以降とで異なる。一方、AndroidのAPI Level 26以降でないとJava 8を使えない。ただしそれらを実装したデバイスでもJava 7以前のDateやTimeを使える。

最近はAndroid 9をターゲットにしないとGoogle Playに乗せてくれないらしいが、Minimumは26よりもっと低いものを設定するのが普通だろう。

したがってJava 7用のDateやTimeをインポートするケースが大半と思われる。

具体的にインポートするもの

Java 7用のDateやTimeとなると

import java.util.Date
import java.util.GregorianCalendar
import java.text.SimpleDateFormat

といったなじみのあるものになる。使い方も

val d = Date() // 現在時刻
val sdf = SimpleDateFormat("yyyy-MM-dd HH:mm")
Log.d("LOG", sdf.format(d))

予約語がJavaのものからKotlinのものに変わっただけ。

簡単だけど、独自APIにこれらのAPIがないというのはちょっとどうかなと思う。

コメントを残す