java时间戳与日期相互转换工具详解
本文为大家分享了java日期与时间戳相互转换大全,供大家参考,具体内容如下
packagecom.crm.util; importjava.math.BigDecimal; importjava.text.DecimalFormat; importjava.text.ParseException; importjava.text.SimpleDateFormat; importjava.util.Calendar; importjava.util.Date; /** *@authorDingJiaCheng **/ publicclassDateFormatUtil{ /** *时间戳转日期 *@paramms *@return */ publicstaticDatetransForDate(Integerms){ if(ms==null){ ms=0; } longmsl=(long)ms*1000; SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss"); Datetemp=null; if(ms!=null){ try{ Stringstr=sdf.format(msl); temp=sdf.parse(str); }catch(ParseExceptione){ e.printStackTrace(); } } returntemp; } /** *获取晚上9点半的时间戳 * *@return */ publicstaticintgetTimes(intday,inthour,intminute){ Calendarcal=Calendar.getInstance(); cal.add(Calendar.DATE,day); cal.set(Calendar.HOUR_OF_DAY,hour); cal.set(Calendar.SECOND,0); cal.set(Calendar.MINUTE,minute); cal.set(Calendar.MILLISECOND,0); return(int)(cal.getTimeInMillis()/1000); } /** *获取当前时间往上的整点时间 * *@return */ publicstaticintgetIntegralTime(){ Calendarcal=Calendar.getInstance(); cal.add(Calendar.HOUR_OF_DAY,1); cal.set(Calendar.SECOND,0); cal.set(Calendar.MINUTE,0); cal.set(Calendar.MILLISECOND,0); return(int)(cal.getTimeInMillis()/1000); } publicstaticintgetIntegralTimeEnd(){ Calendarcal=Calendar.getInstance(); cal.set(Calendar.HOUR_OF_DAY,24); cal.set(Calendar.SECOND,0); cal.set(Calendar.MINUTE,0); cal.set(Calendar.MILLISECOND,0); return(int)(cal.getTimeInMillis()/1000); } /** *时间戳转日期 *@paramms *@return */ publicstaticDatetransForDate3(Integerms){ if(ms==null){ ms=0; } longmsl=(long)ms*1000; SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm"); Datetemp=null; if(ms!=null){ try{ Stringstr=sdf.format(msl); temp=sdf.parse(str); }catch(ParseExceptione){ e.printStackTrace(); } } returntemp; } /** *时间戳转日期 *@paramms *@return */ publicstaticDatetransForDate(Longms){ if(ms==null){ ms=(long)0; } longmsl=(long)ms*1000; SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss"); Datetemp=null; if(ms!=null){ try{ Stringstr=sdf.format(msl); temp=sdf.parse(str); }catch(ParseExceptione){ e.printStackTrace(); } } returntemp; } publicstaticStringtransForDate1(Integerms){ Stringstr=""; if(ms!=null){ longmsl=(long)ms*1000; SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss"); if(ms!=null){ try{ str=sdf.format(msl); }catch(Exceptione){ e.printStackTrace(); } } } returnstr; } publicstaticStringtransForDate2(Integerms){ Stringstr=""; if(ms!=null){ longmsl=(long)ms*1000; SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd"); if(ms!=null){ try{ str=sdf.format(msl); }catch(Exceptione){ e.printStackTrace(); } } } returnstr; } publicstaticStringtransForDate4(Integerms){ Stringstr=""; if(ms!=null){ longmsl=(long)ms*1000; SimpleDateFormatsdf=newSimpleDateFormat("yyyy.MM.dd"); if(ms!=null){ try{ str=sdf.format(msl); }catch(Exceptione){ e.printStackTrace(); } } } returnstr; } publicstaticStringtransForDate5(Integerms){ Stringstr=""; if(ms!=null){ longmsl=(long)ms*1000; SimpleDateFormatsdf=newSimpleDateFormat("yyyy/MM/ddHH:mm:ss"); if(ms!=null){ try{ str=sdf.format(msl); }catch(Exceptione){ e.printStackTrace(); } } } returnstr; } publicstaticStringtransForDateInChinese(Integerms){ Stringstr=""; if(ms!=null){ longmsl=(long)ms*1000; SimpleDateFormatsdf=newSimpleDateFormat("yyyy年MM月dd日HH:mm:ss"); if(ms!=null){ try{ str=sdf.format(msl); }catch(Exceptione){ e.printStackTrace(); } } } returnstr; } /** *日期转时间戳 *@paramdate *@return */ publicstaticIntegertransForMilliSecond(Datedate){ if(date==null)returnnull; return(int)(date.getTime()/1000); } /** *获取当前时间戳 *@return */ publicstaticIntegercurrentTimeStamp(){ return(int)(System.currentTimeMillis()/1000); } /** *日期字符串转时间戳 *@paramdateStr *@return */ publicstaticIntegertransForMilliSecond(StringdateStr){ Datedate=DateFormatUtil.formatDate(dateStr); returndate==null?null:DateFormatUtil.transForMilliSecond(date); } /** *日期字符串转时间戳 *@paramdateStr *@return */ publicstaticIntegertransForMilliSecond(StringdateStr,Stringformat){ Datedate=DateFormatUtil.formatDate(dateStr,format); returndate==null?null:DateFormatUtil.transForMilliSecond(date); } /** *日期字符串转时间戳 *@paramdateStr *@param格式如"yyyy-mm-dd" *@return */ publicstaticIntegertransForMilliSecondByTim(StringdateStr,Stringtim){ SimpleDateFormatsdf=newSimpleDateFormat(tim); Datedate=null; try{ date=sdf.parse(dateStr); }catch(ParseExceptione){ e.printStackTrace(); } returndate==null?null:DateFormatUtil.transForMilliSecond(date); } /** *字符串转日期,格式为:"yyyy-MM-ddHH:mm:ss" *@paramdateStr *@return */ publicstaticDateformatDate(StringdateStr){ SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss"); Dateresult=null; try{ result=sdf.parse(dateStr); }catch(ParseExceptione){ e.printStackTrace(); } returnresult; } /** *字符串转日期,格式为:"yyyy-MM-ddHH:mm:ss" *@paramdateStr *@return */ publicstaticDateformatDate(StringdateStr,Stringformat){ SimpleDateFormatsdf=newSimpleDateFormat(format); Dateresult=null; try{ result=sdf.parse(dateStr); }catch(ParseExceptione){ e.printStackTrace(); } returnresult; } /** *日期转字符串 *@paramdate *@return */ publicstaticStringformatDate(Datedate){ SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss"); Stringresult=null; result=sdf.format(date); returnresult; } /** *日期转字符串 *@paramdate *@return */ publicstaticStringformatDate(Datedate,Stringformat){ SimpleDateFormatsdf=newSimpleDateFormat(format); Stringresult=null; result=sdf.format(date); returnresult; } /** *时间戳格式化输出(httl模版用) * *@paramms时间戳 *@paramformat格式化 *@return */ publicstaticStringtransForDate(Integerms,Stringformat){ Stringstr=""; if(ms!=null){ longmsl=(long)ms*1000; SimpleDateFormatsdf=newSimpleDateFormat(format); if(!ms.equals(0)){ try{ str=sdf.format(msl); }catch(Exceptione){ e.printStackTrace(); } } } returnstr; } /** *取BigDecimal类型数的整数或小数部分(httl模版用) * *@paramb值 *@parammode模式0取整1去小数部分 *@return */ publicstaticStringsplitBigDecimal(BigDecimalb,intmode){ DecimalFormatdf=newDecimalFormat("0.00"); Strings=df.format(b); if(mode==0){ returns.split("\\.")[0]; }else{ return"."+s.split("\\.")[1]; } } /** *计算两个日期之间差的天数(httl模版用) * *@paramts1时间戳1 *@paramts2时间戳2 *@return */ publicstaticintcaculate2Days(Integerts1,Integerts2){ DatefirstDate=DateFormatUtil.transForDate(ts1); DatesecondDate=DateFormatUtil.transForDate(ts2); Calendarcalendar=Calendar.getInstance(); calendar.setTime(firstDate); intdayNum1=calendar.get(Calendar.DAY_OF_YEAR); calendar.setTime(secondDate); intdayNum2=calendar.get(Calendar.DAY_OF_YEAR); returnMath.abs(dayNum1-dayNum2); } /** *给手机加密中间四位加星号 * *@parammobile *@return */ publicStringmobileSerect(Stringmobile){ if(!StringUtils.isBlank(mobile)){ intbetween=mobile.length()/2; mobile=mobile.substring(0,between-2)+"****"+mobile.substring(between+2,mobile.length()); } returnmobile; } /** *给邮箱加密加星号 * *@paramemail *@return */ publicStringemailSerect(Stringemail){ if(!StringUtils.isBlank(email)){ intlength=email.lastIndexOf("@"); email=email.substring(0,2)+"****"+email.substring(length-2,email.length()); } returnemail; } /** *BigDecimal类型数据相加 * *@paramBigDecimalsource *@paramBigDecimaltarget *@return */ publicBigDecimalsumBigDicimal(BigDecimalsource,BigDecimaltarget){ source=source.add(target); returnsource; } /** *BigDecimal类型数据相加 * *@paramBigDecimalsource *@paramBigDecimaltarget *@return */ publicBigDecimalsumBigDicimalAndDouble(BigDecimalsource,Doubletarget){ BigDecimalnew_target=newBigDecimal(target); source=source.add(new_target); returnsource; } /** *BigDecimal类型数据相减 * *@paramBigDecimalsource *@paramBigDecimaltarget *@return */ publicBigDecimalsubBigDicimal(BigDecimalsource,BigDecimaltarget){ source=source.subtract(target); returnsource; } /** *获取传入时间和当前时间的时间差 *@return */ publicstaticLonggetTimediff(inttimeStamp){ Dated1=DateFormatUtil.transForDate(timeStamp); Datetoday=newDate(); if(d1.getTime()=today.getTime()){ returntrue; } returnfalse; } /** *HH:mm:ss格式时间转换为1970-01-01日的时间戳(也就是只有时间没有日期的情况要求使用时间戳表示时间) *@authorDingJiaCheng **/ publicstaticinttransFromTime(Stringtime){ returntransForMilliSecond("1970-01-01"+time,"yyyy-mm-ddHH:mm:ss"); } /** *时间戳转换为HH:mm:ss格式时间(日期去除) *@authorDingJiaCheng **/ publicstaticStringtransToTime(inttime){ Strings=newString(transForDate1(time)); Stringss[]=s.split(""); returnss[1]; } publicstaticinttransToChuo(StringdateString){ SimpleDateFormatsimpleDateFormat=newSimpleDateFormat("yyyy-MM-dd"); intres=0; try{ Datedate=simpleDateFormat.parse(dateString); res=(int)date.getTime(); }catch(ParseExceptione){ e.printStackTrace(); } returnres; } publicstaticvoidmain(String[]args){ //System.out.println(getIntegralTimeEnd()); System.out.println(transForDate2(transForMilliSecond("2015-02-2500:00:00"))); //System.out.println(transForMilliSecond("2016-01-25","yyyy-mm-dd")); //System.out.println(transForDate1(transForMilliSecond("1970-01-0100:00:00","yyyy-mm-ddHH:mm:ss"))); //System.out.println(currentTimeStamp()); //System.out.println(transForDate(currentTimeStamp())); //System.out.println(newDate()); //System.out.println(DateUtils.getDate()); System.out.println(transFromTime("00:00:01")); System.out.println(transToTime(transFromTime("15:01:13"))); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。