Java获取近12个月时间

1. 整体流程

为了获取近12个月的时间,我们可以按照以下步骤进行操作:

步骤 描述
1 获取当前日期
2 构建一个Calendar对象,并将其设置为当前日期
3 通过减去一个月的方式,获取前11个月的日期
4 将每个月的日期添加到一个列表中
5 返回该列表作为结果

2. 具体步骤

步骤1:获取当前日期

我们可以使用java.util.Date类和java.text.SimpleDateFormat类来获取当前日期。以下是一个示例代码:

import java.util.Date;
import java.text.SimpleDateFormat;

public class Main {
    public static void main(String[] args) {
        Date currentDate = new Date();
        
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        String formattedDate = dateFormat.format(currentDate);
        
        System.out.println("当前日期:" + formattedDate);
    }
}

代码解释:

  • 首先,我们创建了一个Date对象来表示当前日期。
  • 然后,我们创建了一个SimpleDateFormat对象,并指定日期格式为"yyyy-MM-dd"
  • 接下来,我们使用format()方法将日期格式化为字符串。
  • 最后,我们打印输出格式化后的当前日期。

步骤2:构建Calendar对象

在这一步中,我们将构建一个java.util.Calendar对象,并将其设置为当前日期。以下是示例代码:

import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;

public class Main {
    public static void main(String[] args) {
        Date currentDate = new Date();
        
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(currentDate);
        
        System.out.println("当前日期:" + calendar.getTime());
    }
}

代码解释:

  • 首先,我们创建了一个Date对象来表示当前日期。
  • 然后,我们创建了一个Calendar对象,通过调用getInstance()方法获取实例。
  • 接下来,我们使用setTime()方法将Calendar对象设置为当前日期。
  • 最后,我们打印输出设置后的日期。

步骤3:获取前11个月的日期

我们可以使用Calendar对象的add()方法来减去一个月,获取前11个月的日期。以下是示例代码:

import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;

public class Main {
    public static void main(String[] args) {
        Date currentDate = new Date();
        
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(currentDate);
        
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        
        for (int i = 0; i < 11; i++) {
            calendar.add(Calendar.MONTH, -1);
            System.out.println(dateFormat.format(calendar.getTime()));
        }
    }
}

代码解释:

  • 首先,我们创建了一个Date对象来表示当前日期。
  • 然后,我们创建了一个Calendar对象,并将其设置为当前日期。
  • 接下来,我们创建了一个SimpleDateFormat对象,并指定日期格式为"yyyy-MM-dd"
  • 然后,我们使用一个循环来获取前11个月的日期。
  • 在循环中,我们使用add()方法来减去一个月,并使用format()方法将日期格式化为字符串进行打印输出。

步骤4:将日期添加到列表

为了保存每个月的日期,我们可以使用java.util.ArrayList类来创建一个列表,并将每个月的日期添加到列表中。以下是示例代码:

import java.util.Date;
import java.util.Calendar;
import java.util.ArrayList;
import java.text.SimpleDateFormat;

public class Main {
    public static void main(String[] args) {
        Date currentDate = new Date();
        
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(currentDate);
        
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        
        ArrayList<String> months = new ArrayList<String>();
        
        for (int i = 0; i < 11; i++) {
            calendar.add(Calendar.MONTH, -1);
            months.add(dateFormat.format(calendar.getTime()));
        }
        
        System.out.println("近12个月的日期:" + months);
    }
}

代码解释:

  • 首先,我们创建了一个Date对象来表示当前日期。
  • 然后,我们创建了一个Calendar对象,并将其设置为当前日期。
  • 接下来,我们创建了一个SimpleDateFormat对象,并指定日期格式为"yyyy-MM-dd"