Java 日期格式不一样

Java 日期格式不一样,java,parsing,date,Java,Parsing,Date,好吧,问题是: Calendar date = Calendar.getInstance(); date.setTime(new Date()); File fileVIPC = new File("VIP members class list.txt"); Scanner scV = new Scanner(fileVIP); scV.useDelimiter(","); if(!fileVIPC.exists()) fileVIPC.createNewFile(); Scanner

好吧,问题是:

Calendar date = Calendar.getInstance();
date.setTime(new Date());

File fileVIPC = new File("VIP members class list.txt");
Scanner scV = new Scanner(fileVIP);
scV.useDelimiter(",");

if(!fileVIPC.exists())
  fileVIPC.createNewFile();

Scanner newVIP = new Scanner(fileVIPC);
newVIP.useDelimiter(",");
SimpleDateFormat f = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy");
Date rCDate;
String rCExpiryDate;
rCExpiryDate = scV.next();              
rCDate = f.parse(rCExpiryDate);

int dateInt = Integer.valueOf(date.get(Calendar.YEAR));
                    dateInt += 1;
                    date.set(Calendar.YEAR,dateInt);

                    dateInt = Integer.valueOf(date.get(Calendar.DAY_OF_MONTH));
                    dateInt -= 1;
                    date.set(Calendar.DAY_OF_MONTH,dateInt);

    date.set(Calendar.YEAR,dateInt);
    rCDate = date.getTime();
    bWriterRenewVIP.write(rCDate +",");

所以,当我写入我的txt文件时,结果是这样的
Aug 02 03:23:28 SGT 3
,我不知道为什么在我续约1年后会有一个3,它应该显示2016年或其他什么。任何你需要的附加代码都告诉我。请帮忙,谢谢

为什么今年不显示
3
?您使用的年份值是多少?如果我续订,不是应该是2016年吗?我不知道我做错了什么。您正在调用
date.set(Calendar.YEAR,dateInt)两次,dateInt之后的第二次是修改后的月份日期。伙计们,它。。只是个愚蠢的错误,2个相同的日期,谢谢。真的看不见。@user3900009我建议你不要在问题中写你的解决方案。回答你自己的问题,并接受这个答案是一个更好的方法。