需求:
从输入框得到用户分开输入的年、月、日,将信息做为Date类型插入数据库
解决一:
InputBean bean = new InputBean(); // 封装用户输入
// 获取用户输入,封装于bean对象中
Calendar cal = Calendar.getInstance();
cal.set(cal.YEAR,bean.getYear()); // Year
cal.set(cal.MONTH,bean.getMonth()); // Month
cal.set(cal.DAY_OF_MONTH,bean.getDay()); // Day
// 数据库操作
陷阱:
Calendar中的MONTH字段和数组下标一样,从0开始,0代表Calendar.JANUARY,1代表Calendar.FEBUARY……12代表次年Calendar.JANUARY。因此用户输入的月份在置入Calendar对象之前必须进行处理,即减一。
解决二:
InputBean bean = new InputBean(); // 封装用户输入
// 获取用户输入,封装于bean对象中
Calendar cal = Calendar.getInstance();
cal.set(cal.YEAR,bean.getYear()); // Year
cal.set(cal.MONTH,bean.getMonth() - 1); // Month
cal.set(cal.DAY_OF_MONTH,bean.getDay()); // Day
// 数据库操作
-- EOF --
除非注明(如“转载”、“[zz]”等),本博文章皆为原创内容,转载时请注明: 「转载自程序员的信仰©」
本文链接地址:java.util.Calendar中的陷阱
发表回复