我需要在GWT中建立年,月,日的Date
。如果不使用Calendar
,我怎么能这样做,因为它在GWT中不可用?
答案 0 :(得分:2)
您可以使用java.util.Date
Date date = new Date();
date.setYear(year); // setting year
date.setMonth(month); // setting month
date.setDate(date); // setting day of month
如果您不想要任何其他字段:
date.setHours(0); // setting hours to 0
date.setMinutes(0); // setting minutes to 0
date.setSeconds(0); // setting seconds to 0
这样你的代码仍然可以有几毫秒,但是你可以轻松摆脱它:
long time = date.getTime(); // getting timestamp
time = (time / 1000L) * 1000L; // getting rid of milliseconds by integer division
// or alternatively
time -= time % 1000L; // getting rid of milliseconds by substracting remainder
date.setTime(time); // setting the timestamp without milliseconds
您可以使用第二种方法来消除小时,分钟,秒和毫秒,但由于闰秒,它不会精确。
注意:不推荐使用这些方法(getTime()
和setTime()
除外),但这可能是在GWT中执行此操作的最直接方法。
答案 1 :(得分:1)
使用提供国际化的DateTimeFormat
。
DateTimeFormat format=DateTimeFormat.getFormat("dd/MM/yyyy");
Date date=format.parse("03/11/2014");
System.out.println(date);
输出:
Mon Nov 03 00:00:00 IST 2014
有关GWT DateTimeFormat的更多信息,请阅读