zoukankan      html  css  js  c++  java
  • TimeUtil 工具类

    /**
     * TODO
     *
     * @auther xh
     * @date 6/11/19 3:32 PM
     */
    public class TimeUtil {
    
        public static final String defaultZone = "Asia/Shanghai";
        private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        //private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
    
        // 获得某天最大时间 2017-10-15 23:59:59
        public static Date getEndOfDay(Date date) {
            LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()), ZoneId.of(defaultZone));
            LocalDateTime endOfDay = localDateTime.with(LocalTime.MAX);
            return Date.from(endOfDay.atZone(ZoneId.of(defaultZone)).toInstant());
        }
    
        // 获得某天最小时间 2017-10-15 00:00:00
        public static Date getStartOfDay(Date date) {
            LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()), ZoneId.of(defaultZone));
            LocalDateTime startOfDay = localDateTime.with(LocalTime.MIN);
            return Date.from(startOfDay.atZone(ZoneId.of(defaultZone)).toInstant());
    
        }
    
        // 获得某天最大时间 2017-10-15 23:59:59
        public static Instant getEndOfDay(Instant date) {
            LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(Date.from(date).getTime()), ZoneId.of(defaultZone));
            LocalDateTime endOfDay = localDateTime.with(LocalTime.MAX);
            Date from = Date.from(endOfDay.atZone(ZoneId.of(defaultZone)).toInstant());
            return from.toInstant();
        }
    
    
        // 获得某天最小时间 2017-10-15 00:00:00
        public static Instant getStartOfDay(Instant date) {
            LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(Date.from(date).getTime()), ZoneId.of(defaultZone));
            LocalDateTime startOfDay = localDateTime.with(LocalTime.MIN);
            Date from = Date.from(startOfDay.atZone(ZoneId.of(defaultZone)).toInstant());
            return from.toInstant();
    
        }
    
        public static String date2Str(Date date) {
            if (date == null) {
                return null;
            }
            ZoneId zone = ZoneId.of(defaultZone);
            LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), zone);
            return dateTimeFormatter.format(localDateTime);
        }
    
        public static String instant2Str(Instant date) {
            ZoneId zone = ZoneId.of(defaultZone);
            LocalDateTime localDateTime = LocalDateTime.ofInstant(date, zone);
            return dateTimeFormatter.format(localDateTime);
        }
    
        public static Date str2Date(String date) {
            if (StringUtils.isBlank(date)) {
                return null;
            }
            date = date.trim();
            if (date.length() == 10) {
                date += " 00:00:00";
            }
            LocalDateTime localDate = LocalDateTime.parse(date, dateTimeFormatter);
            ZoneId zone = ZoneId.of(defaultZone);
            Instant instant = localDate.atZone(zone).toInstant();
            return Date.from(instant);
        }
    
        public static Instant str2Instant(String date) {
            if (StringUtils.isBlank(date)) {
                return null;
            }
            date = date.trim();
            if (date.length() == 10) {
                date += " 00:00:00";
            }
            LocalDateTime localDateTime = LocalDateTime.parse(date, dateTimeFormatter);
            ZoneId zone = ZoneId.of(defaultZone);
            return localDateTime.atZone(zone).toInstant();
        }
    
    
        /**
         * 得到几天前的时间
         *
         * @param d
         * @param day
         * @return
         */
        public static Date getDateBefore(Date d, int day) {
            Calendar now = Calendar.getInstance();
            now.setTime(d);
            now.set(Calendar.DATE, now.get(Calendar.DATE) - day);
            return now.getTime();
        }
    
        /**
         * 得到几天后的时间
         *
         * @param d
         * @param day
         * @return
         */
        public static Date getDateAfter(Date d, int day) {
            Calendar now = Calendar.getInstance();
            now.setTime(d);
            now.set(Calendar.DATE, now.get(Calendar.DATE) + day);
            return now.getTime();
        }
    }
    
    
  • 相关阅读:
    Apache 安装后Error 403的故障排错方法(linux)
    ab接口压力测试工具使用
    php工具、拓展下载地址
    Jboss反序列化漏洞复现(CVE-2017-12149)
    Apache SSI 远程命令执行漏洞复现
    apache httpd多后缀解析漏洞复现
    IIS短文件名漏洞复现
    nginx文件名逻辑漏洞_CVE-2013-4547漏洞复现
    nginx CRLF(换行回车)注入漏洞复现
    nginx目录穿越漏洞复现
  • 原文地址:https://www.cnblogs.com/lanqie/p/11542175.html
Copyright © 2011-2022 走看看