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")));
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。