-2

1970年1月1日の00:00:00UTCから2009年6月22日の00:00:00UTCまでの経過秒数が必要な小さなプログラムを実装しようとしています。誰かが私を正しい方向に向けてください。これを達成する方法について。

4

2 に答える 2

2
public static void main(String[] args) {
    Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
    calendar.set(2009, 5, 22, 0, 0, 0);
    System.out.println("ms: " + calendar.getTimeInMillis());
}

Dateの文字列表現を解析する場合は、SimpleDateFormatを確認してください。1つの回答で提案されましたが、静的インスタンスはスレッドセーフではないため、使用を避ける必要があります。

于 2012-06-19T22:49:39.587 に答える
0

確かに:エポックからミリ秒を取得するのは簡単です:

long ms = System.currentTimeMillis();

特定の時刻からミリ秒を取得する方法は次のとおりです。

private static final String DEFAULT_PATTERN = "yyyy-MMM-dd hh:mm:ss";
private static final DateFormat FORMATTER;

static {
    FORMATTER = new SimpleDateFormat(DEFAULT_PATTERN);
    FORMATTER.setLenient(false);
}

public static long getDateMilliseconds(String dateStr) throws ParseException {
    return FORMATTER.parse(dateStr).getTime();
}
于 2012-06-19T22:41:00.060 に答える