工作用用到的字符串转时间工具--后续会继续总结更新!

1.通过开始时间和结束时间,格式"yyyy-MM-dd HH:mm:ss",处理这一段时间内的时间,分别形成以日、周、月的连续时间段数组或集合,这样的时间集合对于我们在做树状的统计非常有帮助;其次是用到了hutool工具中的DateUtil.rangeToList()方法;

    private List<TasksFinshedStatisticsVo>   handleDayAndMonthResult(List<TasksFinshedStatisticsVo>initResult,TaskExeStatisticDto params){
        String begin = params.getStartTime();
        String end = params.getEndTime();
        String btime = begin.substring(0, 10);//yyyy-MM-dd
        String etime = end.substring(0, 10);
    Date bDate = DateUtil.parse(btime, DatePattern.NORM_DATE_PATTERN);//yyyy-MM-dd
    Date eDate = DateUtil.parse(etime, DatePattern.NORM_DATE_PATTERN);
    List<DateTime> dateList = DateUtil.rangeToList(bDate,eDate,DateField.DAY_OF_YEAR);//创建日期范围生成器
    for (Date date : dateList) {
        TasksFinshedStatisticsVo element = new TasksFinshedStatisticsVo();
        element.setDates(new SimpleDateFormat(DatePattern.NORM_DATE_PATTERN).format(date));
        element.setTasksFinshed(0);
        initResult.add(element);
    }
    return initResult;
}
  private List<DateTime> parasTime(Date bDate,Date eDate,DateField unit){
        List<DateTime> dateList = DateUtil.rangeToList(bDate, eDate,unit);
        return dateList;
    }

2.String字符串"yyyy-MM-dd HH:mm:ss" 转 LocalDateTime 没问题,但是想用"yyyy-MM-dd" 转LocaDateTime 却出现了问题,所以通过hutool 工具里面的,String转成DateTime,然后再去转换成LocalDateTime就OK了。

public static LocalDateTime parseLocalDateTime(String dateStr) {
    DateTime parse = DateUtil.parse(dateStr);
    Instant instant = parse.toInstant();
    ZoneId zoneId = ZoneId.systemDefault();
    LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();
    System.out.println(localDateTime);
    return localDateTime;
}
  1. 字符串(yyyy-MM-dd)转LocalDatetime(DateUtil 为hutool 工具包中的)
public static LocalDateTime parseLocalDateTime(String dateStr) {
    DateTime parse = DateUtil.parse(dateStr);
    Instant instant = parse.toInstant();
    ZoneId zoneId = ZoneId.systemDefault();
    LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();
    System.out.println(localDateTime);
    return localDateTime;
}
4.Date 转 LocalDatetime
public  static LocalDateTime parseDate(Date date){

    Instant instant = date.toInstant();
    ZoneId zoneId = ZoneId.systemDefault();

    LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();
    return localDateTime;
}

5.字符串转LocalDateTime

 DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String dateStr = "2021-08-19 15:11:30";
        LocalDateTime date2 = LocalDateTime.parse(dateStr, fmt);
        System.out.println(date2);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值