这是我第一次问,我在所有互联网上找不到解释,所以在这里你去:我正在写一个简单的函数来计算x天前的日期,所以我写了这个代码工作得很好,直到今天,计算的过去日期是未来1年,但不是所有的价值,仅在11天前,其余的都没问题.如果您今天执行此代码,您将获得此输出:您可以在此处执行此操作
区别:-11
2015年12月28日
区别:-12
情节中字
正如你所看到的,虽然这是一个从Calendar到Date解析的问题,但我也检查过Calendar中的值是完全正常的,但是当我转移到Date它不起作用时,我试着这样做手动但不推荐使用这些功能.
import java.util.*;
import java.lang.*;
import java.io.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
System.out.println(getDate(-11, "YYYY-MM-dd"));
System.out.println(getDate(-12, "YYYY-MM-dd"));
}
public static String getDate(int offset, String SimpleFormat) {
DateFormat dateFormat = new SimpleDateFormat(SimpleFormat);
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.add(Calendar.DATE, offset);
Date todate1 = cal.getTime();
long diff = …Run Code Online (Sandbox Code Playgroud)