在GWT中建立年,月,日的日期

时间:2014-04-04 18:10:13

标签: java gwt

我需要在GWT中建立年,月,日的Date。如果不使用Calendar,我怎么能这样做,因为它在GWT中不可用?

2 个答案:

答案 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的更多信息,请阅读