java针对于时间转换的DateUtils工具类
本文实例为大家分享了时间转换的DateUtils工具类,供大家参考,具体内容如下
importjava.sql.Timestamp;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
importjava.util.Date;
importjava.util.HashMap;
importjava.util.Map;
importnet.sf.json.JSONObject;
/**
*时间日期工具类
*
*@authorwul
*2015-12-31
*/
publicclassDateUtil{
publicstaticfinalStringDATE_NORMAL_FORMAT="yyyy-MM-dd";
publicstaticfinalStringDATETIME_NORMAL_FORMAT="yyyy-MM-ddHH:mm:ss";
publicstaticfinalStringDATE_COMPACT_FORMAT="yyyyMMdd";
publicstaticfinalStringDATETIME_COMPACT_FORMAT="yyyyMMddHHmmss";
publicstaticfinalStringYM_NORMAL_FORMAT="yyyy-MM";
publicstaticfinalStringYM_COMPACT_FORMAT="yyyyMM";
/**
*String转Timestamp
*@paramdateStr
*@return
*@authorwul
*2016-1-17
*/
publicstaticTimestampstringToTimestamp(StringdateStr){
try{
if(dateStr.length()<=10){
dateStr+="00:00:00";
}
returnTimestamp.valueOf(dateStr);
}catch(Exceptione){
e.printStackTrace();
returnnull;
}
}
/**
*String转Date
*@paramdateStr
*@paramformat
*@return
*@authorwul
*2016-1-17
*/
publicstaticDatestringToDate(StringdateStr,Stringformat){
if(dateStr==null||"".equals(dateStr)){
returnnull;
}
Datedate=null;
//注意format的格式要与日期String的格式相匹配
SimpleDateFormatsdf=newSimpleDateFormat(format);
try{
date=sdf.parse(dateStr);
}catch(Exceptione){
e.printStackTrace();
}
returndate;
}
/**
*Date转String
*@paramdate
*@paramformat
*@return
*@authorwul
*2016-1-17
*/
publicstaticStringdateToString(Datedate,Stringformat){
SimpleDateFormatsdf=newSimpleDateFormat(format);
StringcurrentDate=sdf.format(date);
returncurrentDate;
}
/**
*Date转Timestamp
*@paramdate
*@return
*@authorwul
*2016-1-17
*/
publicstaticTimestampdateToTimestamp(Datedate){
Timestampts=newTimestamp(date.getTime());
returnts;
}
/**
*Timestamp转String
*@paramts
*@return
*@authorwul
*2016-1-17
*/
publicstaticStringtimestampToString(Timestampts){
StringtsStr=null;
SimpleDateFormatsdf=newSimpleDateFormat(DATETIME_NORMAL_FORMAT);
try{
tsStr=sdf.format(ts);
}catch(Exceptione){
e.printStackTrace();
}
returntsStr;
}
/**
*Timestamp转Date
*@paramts
*@return
*@authorwul
*2016-1-17
*/
publicstaticDatetimestampToDate(Timestampts){
returnts;
}
/**
*获得当前时间并格式化:yyyy-MM-ddHH:mm:ss
*@return
*/
publicstaticStringgetCurrentTimeNormal(){
SimpleDateFormatsdf=newSimpleDateFormat(DATETIME_NORMAL_FORMAT);
StringcurrentDate=sdf.format(newDate());
returncurrentDate;
}
/**
*获得当前时间并格式化:yyyyMMddHHmmss
*@return
*/
publicstaticStringgetCurrentTimeCompact(){
SimpleDateFormatsdf=newSimpleDateFormat(DATETIME_COMPACT_FORMAT);
StringcurrentDate=sdf.format(newDate());
returncurrentDate;
}
/**
*获得当前时间并格式化:yyyy-MM-dd
*@return
*/
publicstaticStringgetCurrentDateNormal(){
SimpleDateFormatsdf=newSimpleDateFormat(DATE_NORMAL_FORMAT);
StringcurrentDate=sdf.format(newDate());
returncurrentDate;
}
/**
*获得当前时间并格式化:yyyyMMdd
*@return
*/
publicstaticStringgetCurrentDateCompact(){
SimpleDateFormatsdf=newSimpleDateFormat(DATE_COMPACT_FORMAT);
StringcurrentDate=sdf.format(newDate());
returncurrentDate;
}
/**
*将20101202时间格式化为2010-12-02
*
*@paramDateString时间格式:yyyyMMdd
*@return
*/
publicstaticStringgetDateCompactToNormal(StringDateString){
StringBuildersb=newStringBuilder();
sb.append(DateString.substring(0,4)).append("-").append(DateString.subSequence(4,6)).append("-").append(DateString.substring(6,8));
returnsb.toString();
}
/**
*将20101202101423时间格式化为2010-12-0210:14:23
*
*@paramDateString时间格式:yyyyMMddHHmmss
*@return
*/
publicstaticStringgetDateTimeCompactToNormal(StringDateString){
StringBuildersb=newStringBuilder();
sb.append(DateString.substring(0,4)).append("-").append(DateString.subSequence(4,6)).append("-").append(DateString.substring(6,8))
.append("").append(DateString.substring(8,10)).append(":").append(DateString.substring(10,12)).append(":").append(DateString.substring(12));
returnsb.toString();
}
/**
*把界面输入的时间转为间凑的时间字符串
*将2010-12-0210:14:23时间格式化为20101202101423
*@paramdateNormalStrString
*@returnString
*/
publicstaticStringgetCompactString(StringdateNormalStr){
StringBufferret=newStringBuffer();
try{
ret.append(dateNormalStr.substring(0,4));
ret.append(dateNormalStr.substring(5,7));
ret.append(dateNormalStr.substring(8,10));
ret.append(dateNormalStr.substring(11,13));
ret.append(dateNormalStr.substring(14,16));
ret.append(dateNormalStr.substring(17,19));
}catch(Exceptionex){
//如果字串不够长度,则返回前面的部分
}
returnret.toString();
}
/**
*将20101202(101423)时间格式获得年份
*@paramDateString时间格式:yyyyMMdd(HHmmss)
*@return
*/
publicstaticStringgetYear(StringDateString){
returnDateString.substring(0,4);
}
/**
*将20101202(101423)时间格式获得月份
*@paramDateString时间格式:yyyyMMdd(HHmmss)
*@return
*/
publicstaticStringgetMonth(StringDateString){
returnDateString.substring(4,6);
}
/**
*将20101202时间格式获得日期
*@paramDateString时间格式:yyyyMMdd
*@return
*/
publicstaticStringgetDayNoTime(StringDateString){
returnDateString.substring(6);
}
/**
*获取当前日期之前的日期,按天数向前推
*@paramnumVal
*@paramdateFormat
*@return
*@authorwul
*2016-1-17
*/
publicstaticStringgetBeforeDatePlusDay(intnumVal,StringdateFormat){
Calendarcalendar=Calendar.getInstance();
longcurrentTimeMillis=calendar.getTimeInMillis();
longhourInMillis=60*60*1000;
longdVal=numVal*24*hourInMillis;
SimpleDateFormatsdf=newSimpleDateFormat(dateFormat);
StringcurrentDate=sdf.format(currentTimeMillis-dVal);
returncurrentDate;
}
/**
*获取当前日期之前的日期,按天数向前推
*@paramnumVal
*@paramdateFormat
*@return
*@authorwul
*2016-1-17
*/
publicstaticStringgetAfterDatePlusDay(intnumVal,StringdateFormat){
Calendarcalendar=Calendar.getInstance();
longcurrentTimeMillis=calendar.getTimeInMillis();
longhourInMillis=60*60*1000;
longdVal=numVal*24*hourInMillis;
SimpleDateFormatsdf=newSimpleDateFormat(dateFormat);
StringcurrentDate=sdf.format(currentTimeMillis+dVal);
returncurrentDate;
}
/**
*获取当前日期之前的日期,按小时向前推
*@paramnumVal
*@paramdateFormat
*@return
*@authorwul
*2016-1-17
*/
publicstaticStringgetBeforeDatePlusHour(intnumVal,StringdateFormat){
Calendarcalendar=Calendar.getInstance();
longcurrentTimeMillis=calendar.getTimeInMillis();
longhourInMillis=60*60*1000;
longdVal=numVal*hourInMillis;
SimpleDateFormatsdf=newSimpleDateFormat(dateFormat);
StringcurrentDate=sdf.format(currentTimeMillis-dVal);
returncurrentDate;
}
/**
*获取当前日期之前的日期,按小时向前推
*@paramnumVal
*@paramdateFormat
*@return
*@authorwul
*2016-1-17
*/
publicstaticStringgetAfterDatePlusHour(intnumVal,StringdateFormat){
Calendarcalendar=Calendar.getInstance();
longcurrentTimeMillis=calendar.getTimeInMillis();
longhourInMillis=60*60*1000;
longdVal=numVal*hourInMillis;
SimpleDateFormatsdf=newSimpleDateFormat(dateFormat);
StringcurrentDate=sdf.format(currentTimeMillis+dVal);
returncurrentDate;
}
/**
*两个日期相差天数
*@parambeginDate
*@paramendDate
*@return
*@authorwul
*2016-1-18
*/
publicstaticintdaysBetween(DatebeginDate,DateendDate){
Calendarcal=Calendar.getInstance();
cal.setTime(beginDate);
longtime1=cal.getTimeInMillis();
cal.setTime(endDate);
longtime2=cal.getTimeInMillis();
longbetween_days=(time2-time1)/(1000*3600*24);
returnInteger.parseInt(String.valueOf(between_days));
}
/**
*获取某月天数
*@paramyear
*@parammonth
*@return
*@authorwul
*2016-1-18
*/
publicstaticintgetMonthdays(intyear,intmonth){
Calendarcal=Calendar.getInstance();
cal.set(Calendar.YEAR,year);
cal.set(Calendar.MONTH,month-1);
returncal.getActualMaximum(Calendar.DATE);
}
/**
*给时间加减年份
*@paramdate
*@paramplusTime
*@return
*@authorwul
*2016-1-18
*/
publicstaticDategetDatePlusYear(Datedate,intplusTime){
Calendarcal=Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.YEAR,plusTime);
Dated=cal.getTime();
returnd;
}
/**
*给时间加减月份
*@paramdate
*@paramplusTime
*@return
*@authorwul
*2016-1-18
*/
publicstaticDategetDatePlusMonth(Datedate,intplusTime){
Calendarcal=Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.MONTH,plusTime);
Dated=cal.getTime();
returnd;
}
/**
*给时间加减天数
*@paramdate
*@paramplusTime
*@return
*@authorwul
*2016-1-18
*/
publicstaticDategetDatePlusDay(Datedate,intplusTime){
Calendarcal=Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE,plusTime);
Dated=cal.getTime();
returnd;
}
/**
*给时间加减小时
*@paramdate
*@paramplusTime
*@return
*@authorwul
*2016-1-18
*/
publicstaticDategetDatePlusHour(Datedate,intplusTime){
Calendarcal=Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.HOUR,plusTime);
Dated=cal.getTime();
returnd;
}
/**
*给时间加减分钟
*@paramdate
*@paramplusTime
*@return
*@authorwul
*2016-1-18
*/
publicstaticDategetDatePlusMinute(Datedate,intplusTime){
Calendarcal=Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.MINUTE,plusTime);
Dated=cal.getTime();
returnd;
}
/**
*给时间加减秒
*@paramdate
*@paramplusTime
*@return
*@authorwul
*2016-1-18
*/
publicstaticDategetDatePlusSecond(Datedate,intplusTime){
Calendarcal=Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.SECOND,plusTime);
Dated=cal.getTime();
returnd;
}
/**
*返回当前年
*@return
*@authorwul
*2016-1-18
*/
publicstaticintgetCurrentYear(){
Calendarcalendar=Calendar.getInstance();
returncalendar.get(1);
}
/**
*返回当前月
*@return
*@authorwul
*2016-1-18
*/
publicstaticintgetCurrentMonth(){
Calendarcalendar=Calendar.getInstance();
returncalendar.get(2)+1;
}
/**
*返回当前天
*@return
*@authorwul
*2016-1-18
*/
publicstaticintgetCurrentDay(){
Calendarcalendar=Calendar.getInstance();
returncalendar.get(5);
}
/**
*返回当前小时
*@return
*@authorwul
*2016-1-18
*/
publicstaticintgetCurrentHour(){
Calendarcalendar=Calendar.getInstance();
returncalendar.get(11);
}
/**
*返回当前分钟
*@return
*@authorwul
*2016-1-18
*/
publicstaticintgetCurrentMinute(){
Calendarcalendar=Calendar.getInstance();
returncalendar.get(12);
}
/**
*返回当前秒
*@return
*@authorwul
*2016-1-18
*/
publicstaticintgetCurrentSecond(){
Calendarcalendar=Calendar.getInstance();
returncalendar.get(13);
}
/**
*返回当前年
*@return
*@authorwul
*2016-1-18
*/
publicstaticintgetYear(Datedate){
Calendarcalendar=Calendar.getInstance();
calendar.setTime(date);
returncalendar.get(1);
}
/**
*返回当前月
*@return
*@authorwul
*2016-1-18
*/
publicstaticintgetMonth(Datedate){
Calendarcalendar=Calendar.getInstance();
calendar.setTime(date);
returncalendar.get(2)+1;
}
/**
*返回当前天
*@return
*@authorwul
*2016-1-18
*/
publicstaticintgetDay(Datedate){
Calendarcalendar=Calendar.getInstance();
calendar.setTime(date);
returncalendar.get(5);
}
/**
*返回当前小时
*@return
*@authorwul
*2016-1-18
*/
publicstaticintgetHour(Datedate){
Calendarcalendar=Calendar.getInstance();
calendar.setTime(date);
returncalendar.get(11);
}
/**
*返回当前分钟
*@return
*@authorwul
*2016-1-18
*/
publicstaticintgetMinute(Datedate){
Calendarcalendar=Calendar.getInstance();
calendar.setTime(date);
returncalendar.get(12);
}
/**
*返回当前秒
*@return
*@authorwul
*2016-1-18
*/
publicstaticintgetSecond(Datedate){
Calendarcalendar=Calendar.getInstance();
calendar.setTime(date);
returncalendar.get(13);
}
publicstaticvoidmain(String[]args){
System.out.println(DateUtil.dateToString(newjava.sql.Date(System.currentTimeMillis()),DateUtil.DATE_NORMAL_FORMAT));
Mapmap=newHashMap();
map.put("date",newDate());
Stringjson=JSONObject.fromObject(map).toString();
System.out.println(json);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。