格式化时间值为HH:mm:ss.SS在GWT



时间格式如下

 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

不能使用SimpleDateFormat,因为Gwt客户端代码不支持。GWT客户端代码支持的方法

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);

在GWT 2.5中,这略有变化-

  1. 如果您希望在服务器端和客户端统一处理此问题,则使用日期时间格式@共享

  2. 如果您希望仅在客户端处理此问题,则使用DateTimeFormat @ client

代码仍然是-

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

引用SimpleDateFormat javadoc(及其变体):"对于格式化,模式字母的数量是最小数字数量,较短的数字将被补零到此数量。"

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

你需要自己滚动,看起来Mikhail已经证明了这一点。

试试这个

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

DateTimeFormat API

相关内容

  • 没有找到相关文章

最新更新