时间工具类
来源:互联网 发布:网络管理的功能 编辑:程序博客网 时间: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));}}
阅读全文
0 0
- 【Android工具】时间工具类
- 时间计算工具类
- 时间工具类
- 时间工具类
- java时间工具类
- java 时间工具类
- 时间工具类[DateUtil]
- 时间工具类(DateUtil)
- 时间工具类(DateUtil)
- Java时间工具类
- Java时间工具类
- JS时间工具类
- 日期时间工具类
- PHP时间工具类
- 时间工具类
- 时间工具类
- 时间处理工具类
- 时间工具类(DateUtil)
- rand函数的应用
- concurrent包下的一些东西
- static
- ftrace的使用
- vue——路由变化页面数据不刷新问题
- 时间工具类
- Delphi支付宝RSA签名验签
- spring-study--lookup-method--replaced-method用法
- 获取id_rsa.pub
- Android中热修复框架Robust原理解析+并将框架代码从"闭源"变成"开源"(上篇)
- Error retrieving parent for item: No resource found that matches the given name 'TextTheme'
- centos7上编译安装内核
- 排序算法
- mock-api 使用手册