何度も議論されましたが、私が生成したミリ秒の理由がわかりません:
System.currentTimeMillis();
または:
Calendar.getInstance(TimeZone.getTimeZone("UTC")).getTimeInMillis()
www.epochconverter.comで見たものと同じではありませんか?
必要なのは、具体的な形式を生成することだけString
ですが、ミリ秒が正しくないことがわかりました。
念のため、私がそれを行う方法は次のとおりです。
private static final String DATE_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
public static String getCurrentTimestamp() {
long time = System.currentTimeMillis();
SimpleDateFormat sdf = new SimpleDateFormat(DATE_PATTERN);
String lastModifiedTime = sdf.format(time);
Logger.logVerbose(TAG, "Generated timestamp is " + lastModifiedTime);
return lastModifiedTime;
}
最終的に得られるのは現地時間だけですが、タイムゾーンと連動しない純粋なUTCの時間だけが必要です。
SQLite で ( を使用してSELECT strftime('%s',timestring);
) チェックしたところ、正しいミリ秒が得られました。上記の 2 つのステートメントによって誤って生成されたのはなぜですか? よろしくお願いします。