时间工具类

来源:互联网 发布:网络管理的功能 编辑:程序博客网 时间:2024/06/06 07:27
package com.util;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * @description 时间工具类 */public class TimeUtil {public static final int H_M = 0;public static final int H_M_S = 1;public static final int Y_M_D = 2;public static final int Y_M_D_H_M = 3;public static final int Y_M_D_H_M_S = 4;public static final int MM = 5;public static final int yyyyMMdd = 6;public static final int MMdd = 7;private static SimpleDateFormat dateformat0;private static SimpleDateFormat dateformat1;private static SimpleDateFormat dateformat2;private static SimpleDateFormat dateformat3;private static SimpleDateFormat dateformat4;private static SimpleDateFormat dateformat5;private static SimpleDateFormat dateformat6;private static SimpleDateFormat dateformat7;static{dateformat0 = new SimpleDateFormat("HH:mm");dateformat1 = new SimpleDateFormat("HH:mm:ss");dateformat2 = new SimpleDateFormat("yyyy-MM-dd");dateformat3 = new SimpleDateFormat("yyyy-MM-dd HH:mm");dateformat4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");dateformat5 = new SimpleDateFormat("MM");dateformat6 = new SimpleDateFormat("yyyyMMdd");dateformat7 = new SimpleDateFormat("MM-dd");}private static SimpleDateFormat getFormat(int num){SimpleDateFormat dateformat = null;switch(num){case TimeUtil.H_M:dateformat = dateformat0;break;case TimeUtil.H_M_S:dateformat = dateformat1;break;case TimeUtil.Y_M_D:dateformat = dateformat2;break;case TimeUtil.Y_M_D_H_M:dateformat = dateformat3;break;case TimeUtil.Y_M_D_H_M_S:dateformat = dateformat4;break;case TimeUtil.MM:dateformat = dateformat5;break;case TimeUtil.yyyyMMdd:dateformat = dateformat6;break;case TimeUtil.MMdd:dateformat = dateformat7;break;default:break;}return dateformat;}/** * 返回long(毫秒) */public static long getFormatMillisecond(int num,String stringDate){return getFormatDate(num,stringDate).getTime();}/** * 返回long(秒) */public static long getFormatSecond(int num,String stringDate){return getFormatDate(num,stringDate).getTime()/1000;}/** * 返回当前毫秒 */public static long currentMillisecond(){return System.currentTimeMillis();}/** * 返回当前秒 */public static long currentSecond(){return System.currentTimeMillis()/1000;}public static String currentDay(){return getFormatString(TimeUtil.Y_M_D,new Date());}public static String currentDate(){return getFormatString(TimeUtil.Y_M_D_H_M_S,new Date());}public static String currentYMD(){return getFormatString(TimeUtil.yyyyMMdd, new Date());}/** * 返回格式化字符串型日期 * @param num * @param date * @return */public static String getFormatString(int num, Date date){if(date == null) return "0000-00-00";else{SimpleDateFormat dateformat = getFormat(num);return dateformat==null?"0000-00-00":dateformat.format(date);}}public static String getFormatString(int date){String _date= String.valueOf(date);if(date==0){return "0000-00-00";}else{return _date.substring(0, 4) + "-" + _date.substring(4, 6) + "-" + _date.substring(6, 8) ;}}/** * 将long型的秒转换为日期 * author YuWenLin * date 2011-3-24 上午01:57:37 * @param num * @param time * @return */public static String getFormatString(int num, long time){//time(秒)if(time <=0) return "0000-00-00";else{SimpleDateFormat dateformat = getFormat(num);return dateformat==null?"0000-00-00":dateformat.format(new Date(time*1000));}}/** * 将long型的毫秒转换为日期 * author YuWenLin * date 2011-3-24 上午01:58:23 * @param num * @param time * @return */public static String getFormatMMSecondString(int num,long time){if(time <=0) return "0000-00-00";else{SimpleDateFormat dateformat = getFormat(num);return dateformat==null?"0000-00-00":dateformat.format(new Date(time));}}/** * 返回格式化字符串型日期 * @param format * @param date * @return */public static String getFormatString(String format, Date date){if(date == null) return "0000-00-00";elsereturn new SimpleDateFormat(format).format(date);}/** * 返回格日期 * @param num * @param stringDate * @return */public static Date getFormatDate(int num, String stringDate){Date resultDate = null;SimpleDateFormat dateformat = getFormat(num);try { if(dateformat!=null) resultDate = dateformat.parse(stringDate);} catch (ParseException e) {e.printStackTrace();}return resultDate;}/** * 返回格日期 * @param format * @param stringDate * @return */public static Date getFormatDate(String format,String stringDate){Date date = null;try {date = new SimpleDateFormat(format).parse(stringDate);} catch (ParseException e) {e.printStackTrace();}return date;}/** * 获取时间差 * @param type * @param begin * @param end * @return */public static long timediff(String type,Date begin,Date end){long diff = end.getTime() - begin.getTime();if(type.equals("day")){diff = diff/86400000;}else if(type.equals("hour")){diff = diff/3600000;}else if(type.equals("minute")){diff = diff/60000;}else if(type.equals("month")) {int startmonth = Integer.parseInt(getFormatString(MM, begin));int endmonth = Integer.parseInt(getFormatString(MM, end));diff = endmonth - startmonth;}return diff;}/** * 日期比较 * @param begin * @param end * @return */public static long compareDateTime(String begin,String end){long i = getFormatDate(TimeUtil.Y_M_D,begin).getTime()-getFormatDate(TimeUtil.Y_M_D,end).getTime();return i;}/** * 正数为加,负数为减 * @param d * @param type * @param number * @return */public static Date reportGetDate(Date d,String type,int number){   Calendar calendar = Calendar.getInstance();   calendar.setTime(d);   if(type.equals("YEAR"))calendar.add(Calendar.YEAR,number);   if(type.equals("MONTH"))calendar.add(Calendar.MONTH,number);   if(type.equals("DAY"))calendar.add(Calendar.DAY_OF_MONTH,number);   if(type.equals("HOUR"))calendar.add(Calendar.HOUR_OF_DAY,number);   Date date =  calendar.getTime();   return date;}public static void main(String[] args) { //String s = TimeUtil.getFormatMMSecondString(TimeUtil.Y_M_D_H_M_S, 1300876775005L);//String s = TimeUtil.getFormatString(TimeUtil.Y_M_D, 1261045161);//long s = TimeUtil.getFormatSecond(Y_M_D_H_M_S, "2011-3-24 12:55:20");long s = TimeUtil.getFormatMillisecond(Y_M_D_H_M_S, "2017-5-1 00:00:00");System.out.println("ssssssssssssssss:"+s);long time = Long.valueOf("1488391220785");System.out.println(getFormatMMSecondString(4,time));}}


原创粉丝点击