2018-02-21 Java8 LocalDate使用练习,拼一个数组,JS可以用moment

同事让组个字符串,给一个插件用,用了一个小时拼了一下,就当练习了

import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.log4j.Log4j2;

import java.io.IOException;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;

import static java.time.temporal.ChronoField.MONTH_OF_YEAR;


@Log4j2
class TestGenArray {


    public static void main(String args[]) {

        String dateArray = genDateArray(1996, 2);
        log.debug(dateArray.length());

    }

    private static String genDateArray(int startYear, int howManyYears) {

        LocalDate today = LocalDate.now();

        List<Map> yearsResult = new ArrayList();

        List<String> daysList = new ArrayList();


        for (int yearCount = 0; yearCount < howManyYears; yearCount++) {
            Map<String, Map> yearMap = new TreeMap<>();
            for (int everyYear = startYear; everyYear < startYear + howManyYears; everyYear++) {
                Map<String, List> monthMap = new TreeMap<>();
                log.debug(everyYear);
                for (int monthsValue = (int)MONTH_OF_YEAR.range().getMinimum(); monthsValue <= MONTH_OF_YEAR.range().getMaximum(); monthsValue++) {
                    daysList.clear();
                    log.debug(monthsValue);
                    log.debug(today.withYear(everyYear).withMonth(monthsValue).lengthOfMonth());
                    for (int dayOfMonth = 1; dayOfMonth <= today.withYear(everyYear).withMonth(monthsValue).lengthOfMonth(); dayOfMonth++) {
                        daysList.add(String.valueOf(dayOfMonth));
                    }
                    monthMap.put(String.valueOf(monthsValue), daysList);
                }

                yearMap.put(String.valueOf(everyYear), monthMap);
                log.debug(yearMap.keySet());
            }
            yearsResult.add(yearMap);
            log.debug(yearsResult.size());
        }




        ObjectMapper mapperObj = new ObjectMapper();

        String jsonStr = "";
        try {
            // get Employee object as a json string
            jsonStr = mapperObj.writeValueAsString(yearsResult);
        } catch (IOException e) {
            log.error(e);
        }


        return jsonStr;
    }


}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇文章是手册的中文译版整理而来(英文看着太慢了,感谢前人铺路Orz...),vim的markdown插件和实时预...
    Himryang阅读 7,142评论 0 20
  • 沈华立 公司:慈溪市创鑫车辆零部件有限公司 六项精进224期利他二组学员 【日精进打卡325天】 【知~学习】 《...
    沈华立阅读 55评论 0 0
  • 本小节内容是一些小的知识点,比较零散目录1.CSS易维护性 v.s.简洁 2.currentColor-当前的标签...
    juicees阅读 181评论 0 1
  • 西江月.都江堰抒杯 徐 宏 都江水流流不断,百尺长堤,飞鹰俯看雾锁江。西岭雪峰,...
    sunxuhong阅读 547评论 5 3
  • 沙漠中的一壶茶,是在沙漠中行走一天之后的能够享受的奢侈。而能有这种体验是要付出一些行动的。 去沙漠前的路上,想着如...
    苏智随笔阅读 754评论 0 0