• 日期格式化 工具类


    import java.text.DecimalFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class DateFormat {
        public static final String DATE_FORMAT_A="yyyy-MM-dd HH:mm:ss";
    
        /**
         * 将int类型数字转换成时分秒毫秒的格式数据
         *
         * @param time long类型的数据
         * @return HH:mm:ss.SSS
         * @author zero 2019/04/11
         */
        public static String msecToTime(int time) {
            String timeStr = null;
            int hour = 0;
            int minute = 0;
            int second = 0;
            int millisecond = 0;
            if (time <= 0) {
                return "00:00:00.000";
            } else {
                second = time / 1000;
                minute = second / 60;
                millisecond = time % 1000;
                if (second < 60) {
                    timeStr = "00:" + unitFormat(second);
                } else if (minute < 60) {
                    second = second % 60;
                    timeStr = unitFormat(minute) + ":" + unitFormat(second);
                } else {// 数字>=3600 000的时候
                    hour = minute / 60;
                    minute = minute % 60;
                    second = second - hour * 3600 - minute * 60;
                    timeStr =unitFormat(minute) + ":" + unitFormat(second);
                }
            }
            return timeStr;
        }
    
        public static String msecToTime2(int time) {
            String timeStr = null;
            int hour = 0;
            int minute = 0;
            int second = 0;
            int millisecond = 0;
            if (time <= 0) {
                return "00:00:00.000";
            } else {
                second = time / 1000;
                minute = second / 60;
                millisecond = time % 1000;
                if (second < 60) {
                    timeStr = "00:00:" + unitFormat(second);
                } else if (minute < 60) {
                    second = second % 60;
                    timeStr = "00:" + unitFormat(minute) + ":" + unitFormat(second);
                } else {// 数字>=3600 000的时候
                    hour = minute / 60;
                    minute = minute % 60;
                    second = second - hour * 3600 - minute * 60;
                    timeStr = unitFormat(hour) + ":" + unitFormat(minute) + ":" + unitFormat(second);
                }
            }
            return timeStr;
        }
    
    
        //时分秒的格式转换
        public static String unitFormat(int i) {
            String retStr = null;
            if (i >= 0 && i < 10) {
                retStr = "0" + Integer.toString(i);
            }
            else {
                retStr = "" + i;
            }
            return retStr;
        }
    
        //毫秒的格式转换
        public static String unitFormat2(int i) {
            String retStr = null;
            if (i >= 0 && i < 10) {
                retStr = "00" + Integer.toString(i);
            }
            else if (i >= 10 && i < 100) {
                retStr = "0" + Integer.toString(i);
            } else {
                retStr = "" + i;
            }
            return retStr;
        }
    
    
        /**
         *  转换格式  00:00:00
         * @param time
         * @return
         */
        public static String tranToThreeString(int time){
            String paramRet1 = "00:00:00";
            String paramRet2 = "00:00:01";
            String hour = "00";
            String minute = "00";
            String second = "00";
            if(time <= 0){
                return paramRet1;
            }else if( time < 1000 ){
                return paramRet2;
            }else{
                int tmpSecond = time / 1000;
                int remainder = time % 1000;
                if(tmpSecond >= 60){
                    // 计算分钟
                    int tmpMinute = tmpSecond / 60;
                    if(tmpMinute >= 60){
                        // 计算小时
                        int tmpHour = tmpMinute / 60;
                        int mpMinute = tmpMinute % 60;
                        int mmpSecond = mpMinute % 60;
                        return twoString(tmpHour) + ":" + twoString(mpMinute) + ":" +twoString(remainder > 0 && (mmpSecond + 1) != 60? mmpSecond + 1 : mmpSecond);
                    }
                    int mpSecond = tmpSecond % 60;
                    // 分钟不够一小时
                    return hour + ":" + twoString(tmpMinute) + ":" + twoString(remainder > 0  && (mpSecond + 1) != 60 ? mpSecond + 1 : mpSecond);
                }
                // 秒不够一分钟
                second = twoString(remainder > 0  && (tmpSecond + 1) != 60 ? tmpSecond + 1 : tmpSecond);;
            }
            // 默认返回结果
            return hour + ":" + minute + ":" + second;
        }
    
    
        /**
         *  转换格式  00:00
         * @param time
         * @return
         */
        public static String tranToTwoString(int time)  {
            String paramRet1 = "00:00";
            String paramRet2 = "00:01";
            String minute = "00";
            String second = "00";
            if(time <= 0){
                return paramRet1;
            }else if( time < 1000 ){
                return paramRet2;
            }else{
                int tmpSecond = time / 1000;
                int remainder = time % 1000;
                if(tmpSecond >= 60){
                    // 计算分钟
                    int tmpMinute = tmpSecond / 60;
                    int mpSecond = tmpSecond % 60;
    //                if(tmpMinute > 60){
    //                    throw new Exception("分钟数大于60分钟,本api不支持");  throws Exception
    //                }
                    // 分钟不够一小时
                    return twoString(tmpMinute) + ":" + twoString(mpSecond);
                }
                // 秒不够一分钟
                second = twoString(tmpSecond);
            }
            // 默认返回结果
            return minute + ":" + second;
        }
    
    
        private static String twoString(int time){
            String tmp =  String.valueOf(time);
            if(tmp.length() > 1){
                return tmp;
            }
            return "0" + tmp;
        }
    
    
        public static Integer computerBar(int num1,int num2){
            String result = "0";
            Integer integer = new Integer(0);
            try{
                DecimalFormat df = new DecimalFormat("#.00");
                String format = df.format(Double.valueOf(num1) / Double.valueOf(num2));
                result = format.substring(format.lastIndexOf(".")+1);
                if("00".equals(result) && num1 !=0){
                    return 100;
                }else if("00".equals(result) && num1 == 0){
                    return 0;
                }
                integer = Integer.valueOf(result);
            }catch (Exception e){
                return 0;
            }
           return integer;
        }
    
        public static String date2StringFormat(Date date, String format) {
            if((format == null || format.isEmpty())){
                format = "yyyy-MM-dd HH:mm:ss";
            }
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            return sdf.format(date);
        }
    
        public static Date sting2DateFormat(String date, String format) throws ParseException {
            if((format == null || format.isEmpty())){
                format = "yyyy-MM-dd HH:mm:ss";
            }
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            return sdf.parse(date);
        }
    
    
        public static String getDataBeforeYear(){
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            Calendar c = Calendar.getInstance();
            c.setTime(new Date());
            c.add(Calendar.YEAR, -1);
            Date y = c.getTime();
            String year = format.format(y);
            return  year;
        }
    }
  • 相关阅读:
    MongoDB自学日记2——权限
    最近项目的几个问题
    MongoDB自学日记1——基本操作
    一次JVM调优的笔记
    Memcached学习笔记
    为博客添加计数器的方法
    关于多核系统同步互斥的小研究
    Linux中同步互斥机制研究之原子操作
    你真的懂printf么?
    Lingo安装
  • 原文地址:https://www.cnblogs.com/mikuriya/p/14447790.html
Copyright © 2020-2023  润新知