java 如何将日期年份相减

我想处理跨年的问题,但是我获取年份用的是
protected String formatDate2YYYYMMDD(Date date) {
return StringUtil.format("yyyyMMdd", date);
}
获取的String类型的年份,我现在想获取一个去年年份的值,但是String类型不能相减,想请问各位达人,如果取值。
即:系统年:2012 我想再获得一个2011年????
怎么玩~

第1个回答  推荐于2016-11-08
import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Admin {

private static Format f = new SimpleDateFormat("yyyy-MM-dd");

public static void main(String... args) {

Date thisYear = new Date();
System.out.println(formatDate2YYYYMMDD(thisYear));

Date lastYear = lastYear(thisYear);
System.out.println(formatDate2YYYYMMDD(lastYear));
}

private static Date lastYear(Date thisYear) {
Calendar c = Calendar.getInstance();
c.setTime(thisYear);
c.add(Calendar.YEAR, -1);
return c.getTime();
}

private static String formatDate2YYYYMMDD(Date date) {
return f.format(date);
}
}本回答被提问者采纳
第2个回答  2012-04-26
假设有两个日期。第一个日期为:2012年9月13日2时3分4秒第二个日期为:2012年8月12日0时0分0秒求二者的时间差的代码如下 import java.text.Simple

java 如何将日期年份相减
import java.util.Calendar;import java.util.Date;public class Admin { private static Format f = new SimpleDateFormat("yyyy-MM-dd");public static void main(String... args) { Date thisYear = new Date();System.out.println(formatDate2YYYYMMDD(thisYear));Date lastYear = lastYear(...

java实现两个日期相减得到中间的年份和月份
public class DateSimple { public static void main(String[] args) { String startTime = "2012-07-01";String endTime = "2014-07-31";String[] arg1 = startTime.split("-");String[] arg2 = endTime.split("-");int year1 = Integer.valueOf(arg1[0]);int year2 = Integer.va...

java中知道两个日期如何获得两个日期之间的天数
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class Test {public static void main(String[] args) {try {\/\/时间转换类SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Date date1 = sdf.parse("2014-1...

java 纠错一段代码
用另一种方法来比较两个日期相差的天数吧,先取两个日期的毫秒数,然后相减再求出相差的天数,这样不用那么费事 Calendar calendar = Calendar.getInstance();calendar.set(2008, 12, 5);Calendar calendar2 = Calendar.getInstance();calendar2.set(2008, 11, 4);long days = Math.abs((calendar2...

java程序 计算今天距离过去某一天的天数
看不懂,代码中变量n、year、month都是啥意思,从哪里获得的?而且这种代码还真是要人命,java中有现有的api,你应该选择合适而且简洁的方法 直接构造出过去的date,取得时间,与当前的日期相减,得到的毫秒数做处理

相似回答