基于JDK1.8的时间工具类

废话没有,看代码

package org.atm.dc.app.util;

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;

/**
 * 基于JDK1.8
 * Created by HH on 2019/7/30
 */
public class DateUtils {

    public static String YYYY_MM_DD = "YYYY-MM-DD";

    public static String YYYYMMDD = "YYYYMMDD";

    public static String YYYYMMDDHHmmSS = "YYYYMMDDHHmmss";

    public static String YYYY_MM_DD_HH_mm_SS = "YYYY_MM_DD HH:mm:ss";


    /**
     * 获取时间
     *
     * @param date    日期
     * @param pattern 格式
     * @return
     */
    public static String getTime(Date date, String pattern) {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
        return formatter.format(dateToDateTime(date));
    }

    /**
     * 获取Date
     *
     * @param time    时间
     * @param pattern 格式
     * @return
     */
    public static Date getDate(String time, String pattern) {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
        return dateTimeToDate(LocalDateTime.parse(time, formatter));
    }


    /**
     * date转dateTime
     *
     * @param date
     * @return
     */
    private static LocalDateTime dateToDateTime(Date date) {
        Instant instant = date.toInstant();
        return LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
    }

    /**
     * dateTime转Date
     *
     * @param localDateTime
     * @return
     */
    private static Date dateTimeToDate(LocalDateTime localDateTime) {
        Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
        return date;
    }

 /**
     * 获取某年某月最后一周的周日
     *
     * @return yyyy-mm-dd
     */
    public static LocalDate getWeekLastDay(int year, int month) {
        LocalDate parse = LocalDate.of(year, month, 1);
        return parse.with(TemporalAdjusters.dayOfWeekInMonth(-1, DayOfWeek.SUNDAY));
    }

}

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值