Kotlinの現在日時の取得と表示形式のサンプルです。
目次
サンプル | 現在日時を取得し表示形式を指定する(LocalDateTimeクラス) |
タイムゾーンで現在日時を取得する(ZonedDateTimeクラス) |
現在日時を取得し表示形式を指定する(LocalDateTimeクラス)
LocalDateTimeクラスで現在日時を取得し表示形式を指定するサンプルです。
import java.time.format.DateTimeFormatter
import java.time.LocalDateTime
fun main() {
// 現在日時を表示
val date1 = LocalDateTime.now()
println(date1) // 2021-12-02T01:02:26.585340800
// 区切り文字を指定
val dtformat1 = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss.SSS E")
val fdate1 = dtformat1.format(date1)
println(fdate1) // 2021/12/02 01:02:26.585 木
}
LocalDateTimeクラスのnowメソッドは、現在日時を取得します。
DateTimeFormatterクラスのofPatternメソッドは、表示形式を指定できます。SSSはミリ秒です。
表示形式の不要な項目は削除できます。Eは曜日ですが削除すると曜日なしで表示されます。
年月日等の日本語での指定も可能
// 年月日時分秒ミリ秒曜日で表示
val dtformat2 = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH時mm分ss秒SSSミリ秒 E曜日")
val fdate2 = dtformat2.format(date1)
println(fdate2) // 2021年12月02日 01時05分14秒935ミリ秒 木曜日
// 区切りなしで表示
val dtformat3 = DateTimeFormatter.ofPattern("yyyyMMddHHmmss")
val fdate3 = dtformat3.format(date1)
println(fdate3) // 20211202010514
String型にする
日時をString型にする場合は、toStringメソッドを使用します。
// String型にする
val date1 = LocalDateTime.now().toString()
println(date1) // 2021-12-02T01:06:53.754362600
LocalDateTimeクラス
- nowメソッドで現在日時を取得できます。
- イミュータブルかつスレッドセーフです。
- Java8で導入されたクラスです。import先はjava.time~になっています。
- 以下は、Java8 API仕様のLocalDateTimeクラスのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/time/LocalDateTime.html
DateTimeFormatterクラス
- 日時を指定した表示形式にします。
- Java8で導入されたクラスです。import先はjava.time~になっています。
- 以下は、Java8 API仕様のDateTimeFormatterクラスのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/time/format/DateTimeFormatter.html
タイムゾーンで現在日時を取得する(ZonedDateTimeクラス)
タイムゾーンで現在日時を取得するサンプルです。
import java.time.ZoneId
import java.time.ZonedDateTime
fun main(args: Array<String>) {
// 現在日時を取得
val date1 = ZonedDateTime.now(ZoneId.of("Asia/Tokyo"))
println(date1)
// 2021-12-02T01:18:27.223350200+09:00[Asia/Tokyo]
}
7行目は、タイムゾーンIDにAsia/Tokyoを指定しています。
ZonedDateTimeクラス(タイムゾーン)
nowメソッドで現在日時を取得できます。
Java8で導入されました。import先はjava.time~になっています。
イミュータブルかつスレッドセーフです。
以下は、Java8 API仕様のZonedDateTimeクラスのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/time/ZonedDateTime.html
ZoneIdクラス
以下は、Java8 API仕様のZoneIdクラスのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/time/ZoneId.html
関連の記事