问题是SimpleDateFormat
似乎是17小时添加到实际的时间戳。时间戳格式添加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
我在山地标准时间
它为你做了一些时区调整吗?你在哪里关于格林威治标准时间? – bluevector
我在Mountain Standard Time – kentcdodds
虽然你的SSCCE比大多数都好,但它是否是一个没有进口陈述的SSCCE?并非每个人都会为了短小的问题而启动IDE。 –