6

私は自分のAndroidアプリ(Java)で次のようにしています:

String sdt_ = DateFormat.format("yyyyMMdd  HH:mm", dt_).toString();

しかし、私はこれを手に入れました

01-16 14:31:13.308: D/ThS(25810): dt_ = Wed Jan 16 13:28:00 GMT+00:00 2013
01-16 14:31:23.758: D/ThS(25810): sdt_ = 20130116  HH:28

HHをhhに変更すると、これが得られます

sdt_ = 20130116  01:28

しかし、私はこれが必要です

sdt_ = 20130116  13:28
4

3 に答える 3

8

あなたのコードの何が問題なのかわかりませんが、このコードは私にとってはうまくいきます:

DateFormat df = new SimpleDateFormat("yyyyMMdd  HH:mm");
String sdt = df.format(new Date(System.currentTimeMillis()));
System.out.println(sdt);

編集:

後で、元のコードがこれで動作するはずであることがわかりました。

String sdt_ = DateFormat.format("yyyyMMdd  kk:mm", dt_).toString();

どうやら、 android.text.format.DateFormat は「H」制約を使用せず、代わりに「k」を使用しています! 詳細については、この質問を参照してください: How to set 24-hours format for date on java?

于 2013-01-16T15:02:41.773 に答える
4

これはあなたのためにそれを行います:

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd  HH:mm", Locale.getDefault());
String sdt_ = sdf.format(dt_);
于 2013-01-16T15:02:00.203 に答える
4

SimpleDateFormatパターンで hh を使用しました。それが12時間制です。代わりに kk を使用してください。これにより、1 日の時間が 24 時間形式で表示されます。SimpleDateFormatを参照してください。

于 2013-01-16T15:11:34.210 に答える