java~日期与字符串的转化

在Java里我们可以通过SimpleDateFormat实现日期类型的格式化,即将它转为指定格式的字符串,当然像YearMonth这种特殊的类型,实现字符串转化最为容易,即直接toString()即可,下面看一下代码,两种格式的转换。

一 Date到字符串转换

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
sdf.parse(maxDate))//2018-01

二 YearMonth到字符串转换

val from =YearMonth.of(2018,1).toString(); //结果2018-01

三 实现-列举两个日期之间的所有月份

复制代码
 /**
   * from ~ to total months.
   *
   * @param minDate
   * @param maxDate
   * @return
   */
  private static List<String> getMonthBetween(String minDate, String maxDate) {
    ArrayList<String> result = new ArrayList<>();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");//格式化为年月

    Calendar min = Calendar.getInstance();
    Calendar max = Calendar.getInstance();
    try {
      min.setTime(sdf.parse(minDate));
      min.set(min.get(Calendar.YEAR), min.get(Calendar.MONTH), 1);

      max.setTime(sdf.parse(maxDate));
      max.set(max.get(Calendar.YEAR), max.get(Calendar.MONTH), 2);

    } catch (Exception ex) {
      System.out.println(ex.getMessage());
    }
    Calendar curr = min;
    while (curr.before(max)) {
      result.add(sdf.format(curr.getTime()));
      curr.add(Calendar.MONTH, 1);
    }

    return result;
  }
复制代码

知识在于积累!

千里之行始于足下!

posted @   张占岭  阅读(1613)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
历史上的今天:
2014-04-23 MVVM架构~前台后台分离的思想与实践
2012-04-23 架构,改善程序复用性的设计(目录)
点击右上角即可分享
微信分享提示