問題はSimpleDateFormat
、実際のタイムスタンプに17時間を追加しているように見えることです。
これは本当に単純なものでなければなりません。何が間違っているのかわかりません。長いナノ秒をフォーマットされたタイムスタンプに変換するメソッドがあります。17時間を追加しています。これが私のSSCCEです
package playground;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.concurrent.TimeUnit;
/**
*
* @author kentcdodds
*/
public class NanosecondsToString {
public static void main(String[] args) {
long nanoseconds = 234236402;
Timestamp ts = new Timestamp(TimeUnit.MILLISECONDS.convert(nanoseconds, TimeUnit.NANOSECONDS));
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss:SSS");
String formatted = format.format(ts);
System.out.println(formatted);
}
}
出力:17:00:00:234
山岳部標準時です