利用java8实现一个日期工具类

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAccessor;
import java.util.Date;
public class DateUtil {



    /**
    *@description(将 date 转换成指定格式的字符串)
    *@date 2018/4/27 11:20
    *@param date, format
    *@return java.lang.String
    */
    public static String formatDate(Date date,String format){
        LocalDateTime localDateTime=LocalDateTime.ofInstant(date.toInstant(),ZoneId.systemDefault());

        DateTimeFormatter formatter=DateTimeFormatter.ofPattern(format);

        return localDateTime.format(formatter);
    }

    /**
    *@description(间隔天数)
    *@date 2018/6/4 17:42 
    *@param [start, end]
    *@return long 
    */
    public static long betweenDays(Date start,Date end){
        LocalDateTime nowDateTime= LocalDateTime.ofInstant(start.toInstant(), ZoneId.systemDefault());
        LocalDateTime thirdDateTime= LocalDateTime.ofInstant(end.toInstant(), ZoneId.systemDefault());

        long between = ChronoUnit.DAYS.between(nowDateTime, thirdDateTime);
        return between;
    }


    /**
    *@Description(将带T 的字符串,转成 date类型)
    *@Date 2018/4/23
    *@Param [str]
    *@return java.util.Date
     * 请使用 org.apache.commons.lang3.time.FastDateFormat ,更加方便
    */
    @Deprecated
    public static Date parseDate(String str){
        TemporalAccessor date = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss").withZone(ZoneId.systemDefault()).parse(str);

        return Date.from(Instant.from(date));
    }
    /*添加时间*/
    public static Date addTime(Date date, long num, ChronoUnit timeUnit){
        return Date.from(Instant.ofEpochMilli(date.getTime()).plus(num,timeUnit));
    }
  
}

 apache lang3 实现日期转换

import org.apache.commons.lang3.time.FastDateFormat;

import java.text.ParseException;
import java.util.Date;

public class JVMTest {

    public static String format(Date date,String format)  {
        FastDateFormat pattern=FastDateFormat.getInstance(format);
        return pattern.format(date);
    }
    public static Date parse(String dateStr,String format) throws ParseException {
        FastDateFormat pattern=FastDateFormat.getInstance(format);
        return pattern.parse(dateStr);
    }

}

 

转载于:https://my.oschina.net/u/3574106/blog/1824022

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值