首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在date对象方面获得总体体验

如何在date对象方面获得总体体验
EN

Stack Overflow用户
提问于 2015-12-22 22:31:28
回答 3查看 58关注 0票数 1

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

EN

回答 3

Stack Overflow用户

发布于 2015-12-22 23:12:14

您可以使用java.util.Calendar:

代码语言:javascript
复制
Calendar calendar = Calendar.getInstance();

calendar.add(Calendar.MONTH, month);
calendar.add(Calendar.YEAR, year);
Date date = calendar.getTime();

需要注意的是,day字段将设置为今天的日期。如果当前日期超出了目标月份的范围,请检查预期行为。例如,当日历的日期字段为30时,将月份设置为2月。在设置月份和年份之前,将日期设置为每个月的已知有效值(例如: 1)可能是明智的。

票数 1
EN

Stack Overflow用户

发布于 2015-12-22 22:46:52

您可以使用mysql的date_sub()函数或<date> - interval <expression> unit语法从日期中减去一个间隔。

代码语言:javascript
复制
select date_sub(curdate(),interval '3-11' YEAR_MONTH) as start_date

更新:

在OP和@eggyal之间的对话之后,OP需要将传入数据中的句号替换为-,并按如下方式构造一条insert语句:

代码语言:javascript
复制
insert into mytable (...,join_date,...) values (...,date_sub(curdate(),interval '3-11' YEAR_MONTH),...)
票数 0
EN

Stack Overflow用户

发布于 2015-12-22 22:46:59

使用函数:

试试这个:

代码语言:javascript
复制
SELECT DATE_SUB(DATE_SUB(CURRENT_DATE(), INTERVAL 3 YEAR), INTERVAL 11 MONTH);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34418165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档