Java:UNIXタイムスタンプを日付形式に変換

システムで日時を管理する方法として、UNIXタイムスタンプという形式が存在します。
“1627288913”のような数字の羅列で日時として読み取るのは非常に難しいものです。

Webサイト上で表示する場合、「XX年YY月ZZ日 aa時bb分cc秒」といった一目でわかる形式に変換する処理が必要になります。
以下に実装サンプルを記載しますので参考にしてください。

■実装
/test/src/test/TestMain.java

copied!

package test;

import java.time.Instant;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;

public class TestMain {
    
    public static void main(String args[]) {
        
        String JSTDateTime = convertUnitTimeToJST("1627288913");
        
        System.out.println(JSTDateTime);
        
    }
    
    private static String convertUnitTimeToJST(String unitTime) {
        
        // 日付の表示形式
        final DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH時mm分ss秒");

        // UNIXタイムスタンプを日本時間に変換
        return Instant.ofEpochSecond(Long.valueOf(unitTime))
                .atZone(ZoneId.of("Etc/GMT-9"))
                .format(dateFormat);
    }

}

■実行結果
2021年07月26日 17時41分53秒

Wakamatsu Masayuki

2007年4月入社。システム開発業務に従事しています。 プログラミング言語はマルチリンガルです。 #Java #SpringBoot #Seasar #.Net #JavaScript #Vue #Nuxt #PL/SQL #bash #AWS