我在这里有条件,我将在月和年方面拥有丰富的经验。例如,两个下拉列表将用于询问月和年的总体验数。因此,如果我从2012年1月1日开始工作,那么我将写下3年11个月的总经验。现在我必须将这3年和11个月转换为日期格式,以便我可以将其保存到数据库中
答案 0 :(得分:1)
您可以使用java.util.Calendar:
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, month);
calendar.add(Calendar.YEAR, year);
Date date = calendar.getTime();
请注意,日期字段将设置为今天的日期。如果当前日期超出目标月份的范围,请检查预期的行为。例如,将日期设置为日期为30的日期为2月。在设置月份和年份之前,将日期设置为每月的已知有效值(例如:1)可能是明智的。
答案 1 :(得分:0)
您可以使用mysql的date_sub()函数或<date> - interval <expression> unit
语法从日期中减去间隔。
select date_sub(curdate(),interval '3-11' YEAR_MONTH) as start_date
更新:
在OP和@eggyal之间的对话之后,OP需要用 - 替换传入数据中的句点 - 并构造一个insert语句,如下所示:
insert into mytable (...,join_date,...) values (...,date_sub(curdate(),interval '3-11' YEAR_MONTH),...)
答案 2 :(得分:0)
使用DATE_SUB()功能:
试试这个:
SELECT DATE_SUB(DATE_SUB(CURRENT_DATE(), INTERVAL 3 YEAR), INTERVAL 11 MONTH);