zoukankan      html  css  js  c++  java
  • 日期时间工具类

    package com.zxwa.ntmss.process.common.util.date;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.TimeZone;
    
    import com.zxwa.ntmss.process.common.util.StringUtils;
    import org.apache.commons.lang.time.DateFormatUtils;
    
    import com.zxwa.ntmss.process.common.constants.TableNameConstants;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    
    public class DateUtils {
        private static Logger LOG = LoggerFactory.getLogger(DateUtils.class);
    
        public static long MIX_TIMESTAMP=283968000l;
    
        public static long MAX_TIMESTAMP=92233720368l;
    
        public static  String FORMAT_HOUR="yyyyMMddHH0000";
    
        /**
         * 方法名:getLastDay
         * 描述:获取昨天数据
         * 参数:
         * @param
         * @return java.lang.String
         * 作者:-
         * 日期:2018/1/16 16:32
         * 历史:
         *      2018/1/16 16:32,,创建
         */
        public static String getLastDay(){
            Calendar calendar = Calendar.getInstance();
            calendar.add(Calendar.DATE, -1);// 日期减1
            String date=DateFormatUtils.format(calendar, "yyyyMMdd");
            return date;
        }
    
        /**
         * 方法名:getDay
         * 描述:获取今天日期
         * 参数:
         * @param
         * @return java.lang.String
         * 作者:-
         * 日期:2018/1/16 16:32
         * 历史:
         *      2018/1/16 16:32,,创建
         */
        public static String getDay(){
            Calendar calendar = Calendar.getInstance();
            String date=DateFormatUtils.format(calendar, "yyyyMMddHHmmss");
            return date;
        }
        /**
         * 方法名:getLastDayWeek
         * 描述:获取昨天是一年中的第一周
         * 参数:
         * @param
         * @return java.lang.String
         * 作者:-
         * 日期:2018/1/16 16:32
         * 历史:
         *      2018/1/16 16:32,,创建
         */
        public static String getLastDayWeek(){
            Calendar calendar = Calendar.getInstance();
            calendar.add(Calendar.DATE, -1);// 日期减1
            String date=DateFormatUtils.format(calendar, "yyyyww");
            return date;
        }
    
        public static String getLastDayWeekNoformat(){
            Calendar calendar = Calendar.getInstance();
            calendar.add(Calendar.DATE, -1);// 日期减1
            String date=DateFormatUtils.format(calendar, "yyyyw");
            return date;
        }
        /**
         * 方法名:getLastDayMon
         * 描述:获取昨天的月份
         * 参数:
         * @param
         * @return java.lang.String
         * 作者:-
         * 日期:2018/1/16 16:33
         * 历史:
         *      2018/1/16 16:33,,创建
         */
         public static String getLastDayMon(){
            Calendar calendar = Calendar.getInstance();
            calendar.add(Calendar.DATE, -1);// 日期减1
            String date=DateFormatUtils.format(calendar, "yyyyMM");
            return date;
        }
        /**
         * 方法名:getLastDayYear
         * 描述:获取昨天的年份
         * 参数:
         * @param
         * @return java.lang.String
         * 作者:-
         * 日期:2018/1/16 16:33
         * 历史:
         *      2018/1/16 16:33,,创建
         */
        public static String getLastDayYear(){
            Calendar calendar = Calendar.getInstance();
            calendar.add(Calendar.DATE, -1);// 日期减1
            String date=DateFormatUtils.format(calendar, "yyyy");
            return date;
        }
        /**
         * 方法名:getLastMonDay
         * 描述:获取上个月的今天日期
         * 参数:
         * @param
         * @return java.lang.String
         * 作者:-
         * 日期:2018/1/16 16:33
         * 历史:
         *      2018/1/16 16:33,,创建
         */
        public static String getLastMonDay(){
            Calendar calendar = Calendar.getInstance();
            calendar.add(Calendar.MONTH, -1);// 日期减1
            String date=DateFormatUtils.format(calendar, "yyyyMMdd");
            return date;
        }
        /**
         * 方法名:getLastNDayBefore
         * 描述:获取N天前的日期
         * 参数:
         * @param n
         * @return java.lang.String
         * 作者:-
         * 日期:2018/1/16 16:34
         * 历史:
         *      2018/1/16 16:34,,创建
         */
        public static String getLastNDayBefore(int n){
            Calendar calendar = Calendar.getInstance();
            calendar.add(Calendar.DATE, -n);// 日期减1
            String date=DateFormatUtils.format(calendar, "yyyyMMdd");
            return date;
        }
    
        public static String getLastMonMon(){
            Calendar calendar = Calendar.getInstance();
            calendar.add(Calendar.MONTH, -1);// 日期减1
            String date=DateFormatUtils.format(calendar, "yyyyMM");
            return date;
        }
    
        public static String getLastMonYear(){
            Calendar calendar = Calendar.getInstance();
            calendar.add(Calendar.MONTH, -1);// 日期减1
            String date=DateFormatUtils.format(calendar, "yyyy");
            return date;
        }
    
        public static String getLastYearDay(){
            Calendar calendar = Calendar.getInstance();
            calendar.add(Calendar.DATE, -1);// 日期减1
            calendar.add(Calendar.YEAR, -1);// 日期减1
            String date=DateFormatUtils.format(calendar, "yyyyMMdd");
            return date;
        }
    
        public static String getLastYearMon(){
            Calendar calendar = Calendar.getInstance();
            calendar.add(Calendar.YEAR, -1);// 日期减1
            String date=DateFormatUtils.format(calendar, "yyyyMM");
            return date;
        }
    
    
        public static String formatDataDay(String str){
            if(!StringUtils.isEmpty(str)&&str.length()>8){
                return str.substring(0,8);
            }else{
                return "19790101";
            }
        }
    
        public static String getLastYear(){
            Calendar calendar = Calendar.getInstance();
            calendar.add(Calendar.YEAR, -1);// 日期减1
            String date=DateFormatUtils.format(calendar, "yyyy");
            return date;
        }
    
    
        public static String formatNoFormatDate(String str){
            Calendar calendar = Calendar.getInstance();
            calendar.add(Calendar.YEAR, -1);// 日期减1
            String date=DateFormatUtils.format(calendar, "yyyy");
            return date;
        }
        public static String unixTimeFormat(int unixtime) {
            SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
            format.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
            String datetime = format.format(unixtime * 1000l);
            return datetime;
        }
    
        public static String unixTimeFormat(long unixtime,String pattern) {
            SimpleDateFormat format = new SimpleDateFormat(pattern);
            format.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
            String datetime = format.format(new Date(unixtime * 1000));
            return datetime;
        }
    
    
        public static long date2Stamp(String date) {
            if(StringUtils.isEmpty(date)){
                return TableNameConstants.MAX_STAMP;
            }
            SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
            if(date.length()==8){
                format = new SimpleDateFormat("yyyyMMdd");
            }
            format.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
            long datetime=0;
            try {
                datetime = format.parse(date).getTime()/1000;
            } catch (ParseException e) {
                datetime=new Date().getTime()/1000;
                LOG.error(date+" 时间无法转为时间戳,采用当前时间戳"+datetime);
            }
            return datetime;
        }
    
        public static long formatDate2Stamp(String date) {
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            format.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
            long datetime=0;
            try {
                datetime = format.parse(date).getTime()/1000;
            } catch (ParseException e) {
                e.printStackTrace();
            }
            return datetime;
        }
    
        public static long formatDateNo2Stamp(String date) {
            SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
            format.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
            long datetime=0;
            try {
                datetime = format.parse(date).getTime()/1000;
            } catch (ParseException e) {
                e.printStackTrace();
            }
            return datetime;
        }
    
        public static String formatDate2Noformat(String date) {
            if(StringUtils.isEmpty(date)){
                return "";
            }
            return date.replaceAll("-", "").replaceAll(" ", "").replaceAll(":", "");
        }
    
        public static String repairTimeYYYYMMDDHHMMSS(String date){
            if(StringUtils.isEmpty(date)){
                return "";
            }
            if(date.contains("-")||date.contains(":")){
                date=date.replaceAll("-","");
                date=date.replaceAll(":","");
                date=date.replaceAll(" ","");
            }
            if(date.length()==8){
                return date+"000000";
            }else if(date.length()==10){
                return date+"0000";
            }else if(date.length()==12){
                return date+"00";
            }
            return date;
        }
    }
    故乡明
  • 相关阅读:
    中台微服务了,那前端如何进行架构设计?
    单体架构&微服务架构&中台服务架构
    SpringCloud oauth2 jwt gateway demo
    SpringCloud-技术专区-认证服务操作
    SpringBoot集成SpringSecurity+CAS
    内核空间与用户空间的通信方式
    函数调用的细节实现
    Kmalloc可以申请的最大内存
    内核调试和系统调用劫持
    stm32最小系统制作(原理图,PCB图,焊接等)
  • 原文地址:https://www.cnblogs.com/luweiweicode/p/14892830.html
Copyright © 2011-2022 走看看