0

本周以下问题相当顽固。我尝试使用以下方法获取用户选择的日期。

datePicker = new DatePicker();
datePicker.setValue(new Date(), true);
Date date = datePicker.getValue();
int year = date.getYear()+1900;
int month = date.getMonth();
int day = date.getDay();

我得到的只是奇怪的值,比如今天 02/28/2013 我得到 01/04/113。

我发现上面提到的方法已经贬值了一些东西,我可以将 1900 加到一年中。对于年份,添加数字会起作用,但对于月份和日期则不起作用。

我还没有找到解决这个问题的好方法。所以我有人暗示如何解决这个问题,我非常感谢您的帮助!

感谢您的时间!

4

2 回答 2

0

Java 日历具有儒略和公历日期组件。您无需添加1900. 删除 1900 的添加,您的代码应该可以正常工作。Java 本身通过添加 1900 来处理它,如果日期小于 1900,则进一步的 datepicker 会进行折腾。

GWT datepicker 在 1900 年以下发疯

如果您发现此答案有帮助,请不要忘记投票,如果它解决了您的问题,请接受它。

于 2013-02-28T11:18:33.933 回答
0

那是因为您要添加 1900,这不是添加该数字的正确方法 Java 具有添加该数字的内置功能。所以从我这边你需要删除那个 1900,你就可以得到你想要的正确答案。

如果您使用日期选择器,它会自动添加当前日期的日期。因此,如果您将 1900 添加到当前意味着 2013 年,那将是个问题。和 DatePicker 没有设置日期格式

            Date date = new Date();
            datePicker1.setDate(date);
            date = datePicker1.getDate();
            int year = date.getYear();
            int day = date.getDay();
            int month = date.getMonth();
            System.out.println(year+""+day+""+month);
于 2013-11-15T11:02:19.687 回答