0

次のような時間形式があります

 public static final String TIME_FORMAT = "HH:mm:ss.SS";
 edition.getEditionDate().format(TIME_FORMAT);

出力は次のとおりです。

15:02:08.293

次の出力を取得するにはどうすればよいですか。Joda Timeを使用したくありません。substring() メソッドは効率的な方法ではないため、使用したくありません。

15:02:08.29

Gwt クライアント側コードでサポートされていないため、SimpleDateFormat を使用できません。GWT クライアント側コードでサポートされるメソッド

4

4 に答える 4

2
SimpleDateFormat dateFormat = new SimpleDateFormat ("HH:MM:ss.");
DecimalFormat fractionalformat = new DecimalFormat ("00");

Date date = new Date ();

String str = dateFormat.format (date) + fractionalformat.format (date.getTime () % 1000L / 10L);

System.out.println (str);
于 2013-03-11T05:27:36.193 に答える
1

これを試して

String dateString = DateTimeFormat.getFormat("HH:mm:ss.SS").format(new Date());
System.out.println(dateString);

DateTimeFormatの API

于 2013-03-11T06:28:50.287 に答える
1

SimpleDateFormat javadoc (およびバリアント) を引用するには:

したがって、ミリ秒に 1 桁または 2 桁が指定されていても、100 以上の値の場合は 3 桁になります (過半数..)。

あなたは自分自身を転がす必要があります.Mikhailはそれを実証したようです.

于 2013-03-11T05:29:39.363 に答える
1

GWT 2.5 では、これがわずかに変更されます -

  1. これをサーバー側とクライアント側の両方で均一に処理する場合は、 DateTimeFormat @ Sharedを使用します。

  2. この両方をクライアント側でのみ処理する場合は、DateTimeFormat @ Clientを使用します

コードはまだ-

String dateString = DateTimeFormat.getFormat("HH:mm:ss.SS").format(new Date());
于 2013-03-11T06:59:54.983 に答える