时间格式如下
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中,这略有变化-
-
如果您希望在服务器端和客户端统一处理此问题,则使用日期时间格式@共享
-
如果您希望仅在客户端处理此问题,则使用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