1. ホーム
  2. time

[解決済み] Kotlinで現在の時刻をTimeStampとして取得するには?

2022-02-14 17:26:42

質問

これは、私が必要とするタイムスタンプのフォーマットです。2018-03-22 19:02:12.337909

解決方法は?

Kotlinは独自の時間処理クラスを持っていないので、Javaの java.time . ISO-8601タイムスタンプの場合(これは望ましい形式です)。

DateTimeFormatter.ISO_INSTANT.format(Instant.now())

を返します。 2018-04-16T17:00:08.746Z . フォーマットや、異なるタイムゾーンが必要な場合は、それらを指定することができます。

DateTimeFormatter
    .ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSS")
    .withZone(ZoneOffset.UTC)
    .format(Instant.now())

をご覧ください。 java.time.format.DateTimeFormatter JavaDoc は、フォーマット文字列の指定方法の詳細です。

java.time クラスは、Android 26以降、およびJava 8以降にバンドルされています。ほとんどの java.time  の機能は、Java 6 & Java 7 にバックポートされています。 スリーテン・バックポート プロジェクトに参加しました。さらに、以前のAndroid(<26)向けに、以下のように翻案しました。 スリーテンABP . 参照 ThreeTenABPの使用方法... .

2020/07更新

ThreeTenABPの開発は一段落しています。Gradleプラグイン4.0以降では、アプリに最低APIレベルを要求することなく、java 8 APIを直接使用することができます。

詳しくは以下をご覧ください。 Java 8+ APIデスガリング対応(Android Gradle Plugin 4.0.0+)