以下问题本周非常顽强。 我尝试使用以下方法获取用户选择的日期。
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年到今年。 对于这一年,添加一个数字可以工作,但不适用于月份和日期。
我还没有找到解决这个问题的好方法。 所以我有人暗示如何解决这个问题我会非常感谢你的帮助!
感谢您的时间!
答案 0 :(得分:0)
Java日历有Julian和Gregorian日期组件。您无需添加1900
。删除添加1900,您的代码应该可以正常工作。 Java本身通过添加1900处理它,并且如果日期小于1900,则进一步的datepicker会进行折腾。
GWT datepicker goes nuts under 1900
如果您觉得这个答案有帮助,请不要忘记投票,如果它能解决您的问题就更好。接受它。
答案 1 :(得分:0)
那是因为你添加的1900不是添加该数字的正确方法,Java具有内置功能来添加这些数字。所以从我这边你需要删除1900,你将能够得到你想要的正确答案。
如果您使用日期选择器,它会自动添加当前日期的日期。因此,如果您在当前的2013年度中添加1900,那将是一个问题。和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);