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"
。