java 如何得到系统当前的时间减去五年的时间呢

java如何得到系统当前的时间减去五年的时间呢,就是假如今天是2012的某月的某天年要得到2008-01这个时间,并且把2008-01转换成字符串???... java 如何得到系统当前的时间减去五年的时间呢,就是假如今天是2012的某月的某天年要得到2008-01这个时间,并且把2008-01转换成字符串??? 展开
 我来答
mading314
2012-09-09 · TA获得超过863个赞
知道小有建树答主
回答量:355
采纳率:100%
帮助的人:349万
展开全部
通过时间戳的差值来计算,给你一个例子:
======================
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date=new Date();
//现在时刻:
System.out.println(format.format(date));
long nowTime=date.getTime();
long year=5;
nowTime=nowTime-year*365*24*60*60*1000;
date=new Date(nowTime);
//这就是5年前的现在!!!
System.out.println(format.format(date));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
历盆郁7
推荐于2018-03-05 · TA获得超过4277个赞
知道大有可为答主
回答量:1795
采纳率:100%
帮助的人:948万
展开全部
试试,
Format f = new SimpleDateFormat("yyyy-MM");

Calendar c = Calendar.getInstance();

System.out.println("之前:" + f.format(c.getTime()));
c.add(Calendar.YEAR, -4);
System.out.println("之后:" + f.format(c.getTime()));
结果:
之前:2012-09
之后:2008-09
追问
嗯这个方法很简单,可能是我没有描述清楚吧,我想得到的是,无论今天是2012的那一月,都能得到2008-01-01这一天,因为在数据库中药查询的是五年前一月一日后的数据
追答
Format f = new SimpleDateFormat("yyyy-MM-dd");

Calendar c = Calendar.getInstance();

System.out.println("之前:" + f.format(c.getTime()));
c.add(Calendar.YEAR, -4);
c.set(Calendar.MONTH, Calendar.JANUARY);
c.set(Calendar.DAY_OF_MONTH, 1);
System.out.println("之后:" + f.format(c.getTime()));
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
恛憶满满
2012-09-09
知道答主
回答量:27
采纳率:0%
帮助的人:9.9万
展开全部
Format f = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = new GregorianCalendar();
c.add(Calendar.YEAR, -4);
c.set(Calendar.DAY_OF_YEAR, 1);
System.out.println(f.format(c.getTime()));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式