java-提取标准时间格式-Timestamp的年月日为int,并且获取七个月数据

一般情况下我们只需要用Timestampe格式的日期进行各种操作就行了,之所以写这个案例,是因为同事给我一个项目,要求返回前七个月的数据,并且这个憨憨建的表里面的年份和月份是int类型而不是时间戳格式的,这就需要对我们已知的时间进行拆分。
大致代码如下(获取到的月和年分别是当年和当月的整形数值,我前面的文章里面可以找到完整的DateCommon类,该类返回的是TimeStamp类型):

 int currentmonth = DateCommon.getCurrentTime().getMonth() + 1;
 int currentYear = DateCommon.getCurrentTime().getYear() + 1900;

接下来,通过调用自定义方法返回值,因为只需要返回七个月,所以需要考虑两种情况,一是当前月份大于七月返回今年的七个月,另一种是当前月份小于七个月则返回今年和去年总共七个月并且将月份年份以及我们需要的值存放到自己定义的类里面,代码如下:

  List<Bean> list = new ArrayList<>();
            int currentmonth = DateCommon.getCurrentTime().getMonth() + 1;
            int currentYear = DateCommon.getCurrentTime().getYear() + 1900;
            //如果当前月份是7-12月,返回当年七个月的数据(以本月为基础往前七个月)
            Bean bean = null;
            if (currentmonth > 6) {
                for (int i = 0; i <= 6; i++) {
                    bean = new Bean();
                    //自定义方法获取某年某月的值的集合
                    Map<String, Double> map = getFarmTypeMonthValue(2, currentYear, currentmonth - i);
                    //取值
                    bean.setActual(map.get("actual"));
                    bean.setAimed(map.get("aimed"));
                    //转存
                    bean.setYear(String.valueOf(currentYear));
                    bean.setMonth(String.valueOf(currentmonth - i));
                    //以Bean的形式存到list里面,方便前端遍历
                    list.add(bean);
                }

            } else {
                for (int i = 0; i < 7; i++) {
                    bean = new Bean();
                    if (currentmonth - i > 0) {
                        Map<String, Double> map = getFarmTypeMonthValue(2, currentYear, currentmonth - i);
                        bean.setActual(map.get("actual"));
                        bean.setAimed(map.get("aimed"));
                        bean.setYear(String.valueOf(currentYear));
                        bean.setMonth(String.valueOf(currentmonth - i));
                    } else {
                        Map<String, Double> map = getFarmTypeMonthValue(2, currentYear - 1, 12 + (currentmonth - i));
                        bean.setActual(map.get("actual"));
                        bean.setAimed(map.get("aimed"));
                        bean.setYear(String.valueOf(currentYear - 1));
                        bean.setMonth(String.valueOf(12 + (currentmonth - i)));
                    }
                    list.add(bean);
                }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值