Title Image

Modified : 2023/10/08

標準クラスの拡張

標準クラスを拡張して関数を追加する方法を紹介します。
[Kotlin]に戻る

[記事の先頭]

概要

 Kotlinでは、標準クラスを拡張して関数を追加することができます。
 本ページでは、Calendarクラスに日時文字列に変換する関数を追加する例を紹介します。

[記事の先頭]

標準CalendarクラスにtoString()を追加する例

CalendarExp.kt ファイル

import java.text.SimpleDateFormat
import java.util.*

fun Calendar.toString(pattern: String): String {
    val format = SimpleDateFormat(pattern)
    format.timeZone = timeZone
    return format.format(time)
}
[記事の先頭]

使い方の例

システムのタイムゾーンを使う場合

val calendar = Calendar.getInstance()
val text = calendar.toString("yyyy/MM/dd HH:mm:ss.SSS")
println("$text (${calendar.timeZone.displayName})")
// => 2022/01/23 12:34:56.789 (日本標準時)

グリニッジ標準時のタイムゾーンを使う場合

val calendar = Calendar.getInstance(TimeZone.getTimeZone(ZoneId.of("Europe/London")))
val text = calendar.toString("yyyy/MM/dd HH:mm:ss.SSS")
println("$text (${calendar.timeZone.displayName})")
// => 2022/01/23 03:34:56.789 (グリニッジ標準時)
[記事の先頭]

関連記事

[記事の先頭]
[Kotlin]に戻る