Kotlin 現在日時の取得と表示形式のサンプル

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クラス

    DateTimeFormatterクラス

     

    タイムゾーンで現在日時を取得する(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

    関連の記事

    kotlin 文字列を結合する(StringBuilder/+/join)

    △上に戻る