我的时间格式如下
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。Methods supported by GWT client side code
答案 0 :(得分: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);
答案 1 :(得分:1)
引用SimpleDateFormat javadoc(和变体):“对于格式化,模式字母的数量是最小位数,较短的数字是零填充到此数量。”
因此,即使指定1或2位数的毫秒数,对于大于或等于100(大多数...)的值,您将得到3位数。
你需要自己动手,看起来米哈伊尔已经证明了这一点。
答案 2 :(得分:1)
试试这个
String dateString = DateTimeFormat.getFormat("HH:mm:ss.SS").format(new Date());
System.out.println(dateString);
的API
答案 3 :(得分:1)
使用GWT 2.5,这会稍微改变 -
如果您希望统一处理服务器端和客户端,请使用 DateTimeFormat @ Shared
如果您希望仅在客户端处理此问题,请使用DateTimeFormat @ Client
代码仍然是 -
String dateString = DateTimeFormat.getFormat("HH:mm:ss.SS").format(new Date());