java获取最近12个月月份

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。java获取最近12个月月份,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

最近在做一个换电站管理的项目,其中有一个大屏折线图。要求计算近12个月的数据。所以,就需要写一个生成近12个月月份的算法。算法如下。

一:编写生成近12个月月份的算法

java获取最近12个月月份

二:编写判断当天是否是月初的算法

java获取最近12个月月份

 三:格式化月份

java获取最近12个月月份

 二:算法代码如下

/**
* 获取最近12个月月份
*/
public static List<String> getOneMonth() {
List<String> monthList = new ArrayList<>();
Calendar calendar = Calendar.getInstance();
//1号就从上个月开始算
int num = 1;
if (isFirstDayOfMonth(calendar)){
num = 0;
}
calendar.set(Calendar.MONTH,calendar.get(Calendar.MONTH)+num);
for (int i = 0; i < 12; i++) {
calendar.add(Calendar.MONTH, -1);//1个月前
String month = calendar.get(Calendar.YEAR)+"-"+fillZero(calendar.get(Calendar.MONTH)+1);
monthList.add(month);
}
Collections.reverse(monthList);
return monthList;
}

/**
* 判断今天是否是1号
* @param calendar 日历对象
* @return 是否第一天
*/
public static boolean isFirstDayOfMonth(Calendar calendar){
calendar.setTime(new Date());
calendar.set(Calendar.DATE,calendar.get(Calendar.DATE)+1);
if(calendar.get(Calendar.DAY_OF_MONTH) == 2){
return true;
}else{
return false;
}
}

/**
* 格式化月份
*/
public static String fillZero(int i){
String month = "";
if(i<10){
month = "0" + i;
}else{
month = String.valueOf(i);
}
return month;
}

到此,获取近12个月的教程就结束了。此方法还可以根据实际业务场景动态调整要获取月份范围大小,只需改变getOneMonth()里循环条件的大小即可。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/206831.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!