2

コードで時間を使用する際に問題が発生しました。

txtDauer = new JFormattedTextField();
txtDauer.setFormatterFactory(new DefaultFormatterFactory(
    new DateFormatter(DateFormat.getTimeInstance())));

上記の FormattedTextfield に setValue(0) を使用すると、テキスト フィールドに 00:00:00 ではなく 01:00:00 が表示されます。

この方法では、コードの別の行でも同じ問題が発生します。

public static String convertLongToString(Long time) {
    String strtime = new SimpleDateFormat("HH:mm:ss").format(time);
    return strtime;
}

このメソッドを "0" で使用すると、strtime = "01:00:00" が返されます。

4

2 に答える 2

2

問題は TimeZoneです。デフォルトのコンピューターの TimeZone は GMT +1 です。

解決策は、GMT を +0 に設定することです。

DateFormat df = new SimpleDateFormat("HH:mm:ss");
df.setTimeZone(TimeZone.getTimeZone("GMT"));

実行してプレビューします。

于 2012-02-28T14:49:51.600 に答える
1

の場合DateDate & TimeまたはSpinnerDateModelでJSpinnerTime使用します。SimpleDateFormatの使用例

于 2012-02-28T14:33:44.023 に答える