如何获得日期对象方面的总体经验

时间:2015-12-22 14:31:28

标签: date datediff

我在这里有条件,我将在月和年方面拥有丰富的经验。例如,两个下拉列表将用于询问月和年的总体验数。因此,如果我从2012年1月1日开始工作,那么我将写下3年11个月的总经验。现在我必须将这3年和11个月转换为日期格式,以便我可以将其保存到数据库中

3 个答案:

答案 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);