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

引用 SimpleDateFormat javadoc(和变体):“对于格式化,模式字母的数量是最小的位数,较短的数字在这个数量上补零。”

因此,即使为毫秒指定 1 或 2 位数字,对于大于或等于 100 的值(大多数..),您将获得 3 位数字。

你需要自己动手,看起来米哈伊尔已经证明了这一点。

于 2013-03-11T05:29:39.363 回答
1

试试这个

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

日期时间格式API

于 2013-03-11T06:28:50.287 回答
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 回答