java gps时间转换工具_简单的时间格式转换工具类(java)

importjava.sql.Timestamp;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;importjava.util.Locale;importjava.util.TimeZone;/*** Date日期公共类

*

**/

public classDateUtils {/*** 返回当前日期Date类型

*

*@return

*/

public staticDate getCurDate() {return newDate();

}/*** Date日期类型转化为Timestamp类型 如果参数为空返回null

*

*@paramdate

*@return

*/

public staticTimestamp getTimestamp(Date date) {if (date == null)return null;else{return newTimestamp(date.getTime());

}

}/*** 获取当前Timestamp类型时间

*

*@return

*/

public staticTimestamp getCurTimestamp() {return new Timestamp(newDate().getTime());

}/*** 字符串日期转化为“yyy-MM-dd”格式的Date日期类型 如果字符串为null则返回null

*

*@paramdateStr

*@return

*/

public staticDate formateDate(String dateStr) {if (dateStr == null || "".equals(dateStr.trim()))return null;

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");try{

Date date=sdf.parse(dateStr);returndate;

}catch(ParseException e) {

e.printStackTrace();

}return null;

}/*** 字符串日期去除两端空白并返回Timestamp类型日期 如果为null或者“”则返回null

*

*@paramtsStr

*@return

*/

public staticTimestamp formateTimeStamp(String tsStr) {if (tsStr == null || "".equals(tsStr.trim()))return null;try{

Timestamp ts=Timestamp.valueOf(tsStr.trim());returnts;

}catch(Exception e) {

e.printStackTrace();

}return null;

}/*** Date日期类型转化为“yyyy-MM-dd”格式的字符串日期 如果为空则返回null

*

*@paramdate

*@return

*/

public staticString getDateStr(Date date) {if (date == null)return null;

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");

String dateStr=sdf.format(date);returndateStr;

}public staticString getTime2Str(Date date){if (date == null)return null;

SimpleDateFormat sdf= new SimpleDateFormat("HH:mm:ss");

String dateStr=sdf.format(date);returndateStr;

}/*** Timestamp日期类型转化为“yyyy-MM-dd HH:mm:ss”格式的字符串日期 如果为空则返回null

*

*@paramts

*@return

*/

public staticString getTimestampStr(Timestamp ts) {if (ts == null)return null;

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String tsStr=sdf.format(ts);returntsStr;

}/*** Timestamp日期类型转化为“MM-dd HH:mm”格式的字符串日期 如果为空则返回null

*

*@paramts

*@return

*/

public staticString formatTimestamp2Str(Timestamp ts) {if (ts == null)return null;

SimpleDateFormat sdf= new SimpleDateFormat("MM-dd HH:mm");

String tsStr=sdf.format(ts);returntsStr;

}/*** Date日期类型转化为“MM-dd HH:mm”格式的字符串日期 如果为空则返回null

*

*@paramts

*@return

*/

public staticString formatTimestamp2Str(Date ts) {if (ts == null)return null;

SimpleDateFormat sdf= new SimpleDateFormat("MM-dd HH:mm");

String tsStr=sdf.format(ts);returntsStr;

}/*** Date日期类型转化为“yyyy-MM-dd HH:mm:ss”格式的字符串日期 如果为空则返回null

*

*@paramdate

*@return

*/

public staticString getTimestampStr(Date date) {if (date == null)return null;

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String tsStr=sdf.format(date);returntsStr;

}/*** 返回Date日期类型的起始时间,返回类型是Timestamp并包含秒表 2014-01-21 00:00:00.0

*

*@paramdate

*@return

*/

public staticTimestamp getStartTimestampByDate(Date date) {if (date == null)return null;

Calendar c1=Calendar.getInstance();

c1.setTime(date);

c1.set(Calendar.HOUR_OF_DAY,0);

c1.set(Calendar.MINUTE,0);

c1.set(Calendar.SECOND,0);

c1.set(Calendar.MILLISECOND,0);return newTimestamp(c1.getTimeInMillis());

}/*** 返回Date日期类型的结束时间,返回类型是Timestamp并包含秒表 2014-01-21 23:59:59.999

*

*@paramdate

*@return

*/

public staticTimestamp getEndTimestampByDate(Date date) {if (date == null)return null;

Calendar c1=Calendar.getInstance();

c1.setTime(date);

c1.set(Calendar.HOUR_OF_DAY,23);

c1.set(Calendar.MINUTE,59);

c1.set(Calendar.SECOND,59);

c1.set(Calendar.MILLISECOND,999);return newTimestamp(c1.getTimeInMillis());

}/*** 日期增加 并返回Date日期类型

*

*@paramcurDate

*@paramcount

*@return

*/

public staticDate dateAdd(Date curDate, Integer count) {if (curDate == null || count == null)return null;return new Date(curDate.getTime() + count * 24 * 60 * 60 * 1000L);

}/*** 日期增加 并返回Timestamp日期类型

*

*@paramcurTimestamp

*@paramcount

*@return

*/

public staticTimestamp timeAddSecond(Timestamp curTimestamp, Integer count) {if (curTimestamp == null || count == null)return null;return new Timestamp(curTimestamp.getTime() + count * 1000);

}/*** 两个日期相差几个月

*

*@paramcurDate

*@paramoldDate

*@return

*/

public static intdateDiffMont(Date curDate, Date oldDate) {if (curDate == null || oldDate == null)return 0;if (oldDate.getTime() >=curDate.getTime()) {return 0;

}

Calendar c=Calendar.getInstance();

c.setTime(curDate);int curYear =c.get(Calendar.YEAR);int curMonth =c.get(Calendar.MONTH);

c.setTime(oldDate);int oldYear =c.get(Calendar.YEAR);int oldMonth =c.get(Calendar.MONTH);intresult;if (curYear ==oldYear) {

result= curMonth - oldMonth;//两个日期相差几个月,即月份差

} else{

result= 12 * (curYear - oldYear) + curMonth - oldMonth;//两个日期相差几个月,即月份差

}returnresult;

}/*** 判断两个日期的大小 是返回true 否则返回false

*

*@paramdate1

*@paramdate2

*@return

*/

public static booleancompare(Date date1, Date date2) {if (date1 == null || date2 == null)return false;

Calendar c1=Calendar.getInstance();

c1.setTime(date1);

c1.set(Calendar.HOUR_OF_DAY,0);

c1.set(Calendar.MINUTE,0);

c1.set(Calendar.SECOND,0);

c1.set(Calendar.MILLISECOND,0);

Calendar c2=Calendar.getInstance();

c2.setTime(date2);

c2.set(Calendar.HOUR_OF_DAY,0);

c2.set(Calendar.MINUTE,0);

c2.set(Calendar.SECOND,0);

c2.set(Calendar.MILLISECOND,0);if (c1.getTimeInMillis() >=c2.getTimeInMillis())return true;else

return false;

}/*** 返回当前日期当前月的第一天 返回类型是Timestamp 格式是“2014-01-01 00:00:00.0”

*

*@paramcurDate

*@return

*/

public staticTimestamp getFirstDayOfMonth(Date curDate) {if (curDate == null)return null;

Calendar c=Calendar.getInstance();

c.setTime(curDate);

c.set(Calendar.HOUR_OF_DAY,0);

c.set(Calendar.MINUTE,0);

c.set(Calendar.SECOND,0);

c.set(Calendar.MILLISECOND,0);

c.set(Calendar.DATE,1);//设为当前月的1号

System.out.println(newTimestamp(c.getTimeInMillis()));return newTimestamp(c.getTimeInMillis());

}/*** 返回当前日期下个月的第一天 返回类型是Timestamp 格式是“2014-02-01 00:00:00.0”

*

*@paramcurDate

*@return

*/

public staticTimestamp getFirstDayOfNextMonth(Date curDate) {if (curDate == null)return null;

Calendar c=Calendar.getInstance();

c.setTime(curDate);

c.set(Calendar.HOUR_OF_DAY,0);

c.set(Calendar.MINUTE,0);

c.set(Calendar.SECOND,0);

c.set(Calendar.MILLISECOND,0);

c.set(Calendar.DATE,1);//设为当前月的1号

c.add(Calendar.MONTH, 1);// System.out.println(newTimestamp(c.getTimeInMillis()));return newTimestamp(c.getTimeInMillis());

}/*** 返回指定年份的第一天 返回类型是Timestamp 格式是“2013-01-01 00:00:00.0”

*

*@paramyearStr

* ("参数格式:2013")

*@return

*/

public staticTimestamp getFirstDayOfYear(String yearStr) {if (yearStr == null)return null;

Calendar c=Calendar.getInstance();

c.set(Calendar.YEAR,newInteger(yearStr));

c.set(Calendar.MONTH,0); // c.set(Calendar.DATE, 1);

c.set(Calendar.HOUR_OF_DAY,0);

c.set(Calendar.MINUTE,0);

c.set(Calendar.SECOND,0);

c.set(Calendar.MILLISECOND,0);

System.out.println(newTimestamp(c.getTimeInMillis()));return newTimestamp(c.getTimeInMillis());

}/*** 返回指定年份的最后一天 返回类型是Timestamp 格式是“2013-12-31 23:59:59.999”

*

*@paramyearStr

* ("参数格式:2013")

*@return

*/

public staticTimestamp getLastDayOfYear(String yearStr) {if (yearStr == null)return null;

Calendar c=Calendar.getInstance();

c.set(Calendar.YEAR,newInteger(yearStr));

c.set(Calendar.MONTH,11); // c.set(Calendar.DATE, 31);

c.set(Calendar.HOUR_OF_DAY,23);

c.set(Calendar.MINUTE,59);

c.set(Calendar.SECOND,59);

c.set(Calendar.MILLISECOND,999);

System.out.println(newTimestamp(c.getTimeInMillis()));return newTimestamp(c.getTimeInMillis());

}/*** 返回本季度的第一天 返回类型是Timestamp 格式是“2013-10-01 00:00:00.0”

*

*@paramyearStr

* (例如参数:2013)

*@paramqurStr

* (例如第XX季度:4)

*@return

*/

public staticTimestamp getFirstDayOfQuarter(String yearStr, String qurStr) {if (yearStr == null)return null;if (qurStr == null)return null;

String qurTmp= "";if ("1".equals(qurStr))

qurTmp= "0";else if ("2".equals(qurStr))

qurTmp= "3";else if ("3".equals(qurStr))

qurTmp= "6";else if ("4".equals(qurStr))

qurTmp= "9";

Calendar c=Calendar.getInstance();

c.set(Calendar.YEAR,newInteger(yearStr));

c.set(Calendar.MONTH,new Integer(qurTmp)); // c.set(Calendar.DATE, 1);

c.set(Calendar.HOUR_OF_DAY,0);

c.set(Calendar.MINUTE,0);

c.set(Calendar.SECOND,0);

c.set(Calendar.MILLISECOND,0);

System.out.println(newTimestamp(c.getTimeInMillis()));return newTimestamp(c.getTimeInMillis());

}/*** 返回指定年、月份的第一天 返回类型是Timestamp 格式是“2013-04-01 00:00:00.0”

*

*@paramyearStr

* (例如参数:2013)

*@parammonthStr

* (例如参数:4)

*@return

*/

public staticTimestamp getFirstDayOfMonth(String yearStr, String monthStr) {if (yearStr == null)return null;if (monthStr == null)return null;

Calendar c=Calendar.getInstance();

c.set(Calendar.YEAR,newInteger(yearStr));

c.set(Calendar.MONTH,new Integer(monthStr) - 1); // c.set(Calendar.DATE, 1);

c.set(Calendar.HOUR_OF_DAY,0);

c.set(Calendar.MINUTE,0);

c.set(Calendar.SECOND,0);

c.set(Calendar.MILLISECOND,0);

System.out.println(newTimestamp(c.getTimeInMillis()));return newTimestamp(c.getTimeInMillis());

}/*** 返回当前日期的上个月的当前时间段 返回类型Timestamp 格式:”2013-12-21 12:15:45.096“

*

*@paramendTime

* (例如参数:2014-01-21)

*@return

*/

public staticTimestamp getFirstDayOfPreMonth(Timestamp endTime) {

Calendar c=Calendar.getInstance();

c.setTime(newDate(endTime.getTime()));

System.out.println(c.getTime());int y =c.get(Calendar.YEAR);int m = c.get(Calendar.MONTH) - 1;

System.out.println(y);

System.out.println(m);if (m == -1) {

y= y - 1;

m= 11;

}

c.set(Calendar.YEAR, y);

c.set(Calendar.MONTH, m);return newTimestamp(c.getTimeInMillis());

}/*** 返回上一年的第一个月的第一天 返回类型Timestamp 格式:2013-01-01 00:00:00.0

*

*@paramcurDate

*@return

*/

public staticTimestamp getPrevYearFirstDayOfMonth(Date curDate) {if (curDate == null)return null;

Calendar c=Calendar.getInstance();

c.setTime(curDate);

c.set(Calendar.HOUR_OF_DAY,0);

c.set(Calendar.MINUTE,0);

c.set(Calendar.SECOND,0);

c.set(Calendar.MILLISECOND,0);

c.set(Calendar.DATE,1);//设为当前月的1号

c.add(Calendar.YEAR, -1);// System.out.println(newTimestamp(c.getTimeInMillis()));return newTimestamp(c.getTimeInMillis());

}/*** 返回上一年的第二个月的第一天 返回类型Timestamp 格式:2013-02-01 00:00:00.0

*

*@paramcurDate

*@return

*/

public staticTimestamp getPrevYearFirstDayOfNextMonth(Date curDate) {if (curDate == null)return null;

Calendar c=Calendar.getInstance();

c.setTime(curDate);

c.set(Calendar.HOUR_OF_DAY,0);

c.set(Calendar.MINUTE,0);

c.set(Calendar.SECOND,0);

c.set(Calendar.MILLISECOND,0);

c.set(Calendar.DATE,1);//设为当前月的1号

c.add(Calendar.MONTH, 1);// c.add(Calendar.YEAR, -1);// System.out.println(newTimestamp(c.getTimeInMillis()));return newTimestamp(c.getTimeInMillis());

}/*** 返回字符串日期 返回类型:string 参数类型:Timestamp 返回格式:yyyy.MM

*

*@paramtmp

*@return

*/

public staticString cvtTimestampToStr(Timestamp tmp) {if (tmp == null)return "";

SimpleDateFormat sdf= new SimpleDateFormat("yyyy.MM");

String timeStr= sdf.format(newDate(tmp.getTime()));

System.out.println(timeStr);returntimeStr;

}/*** 返回字符串日期 返回类型:string 参数类型:Date 返回格式:yyyy.MM

*

*@paramtmp

*@return

*/

public staticString cvtDateToStr(Date tmp) {if (tmp == null)return "";

SimpleDateFormat sdf= new SimpleDateFormat("yyyy.MM");

String timeStr=sdf.format(tmp);

System.out.println(timeStr);returntimeStr;

}/*** 返回两个日期相差多少秒 返回类型Integer 参数类型:Timestamp

*

*@paramstartTime

*@paramendTime

*@return

*/

public staticInteger diffTimestamp4Second(Timestamp startTime,

Timestamp endTime) {if (startTime == null || endTime == null)return 0;

Integer diff= newLong(

(endTime.getTime()- startTime.getTime()) / 1000).intValue();returndiff;

}/*** 获取当前时间格式为yyyy-MM-dd HH:mm:ss的字符串

*@return

*/

public staticString getCurrentYYYYMMDDHHMMSS() {

SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);

formatter.setTimeZone(TimeZone.getTimeZone("GMT+8"));

Date currTime= newDate();

String thisTime= newString(formatter.format(currTime));returnthisTime;

}/*** 获取当前时间格式为yyyy-MM-dd HH:mm:ss的字符串

*@paraminputDate

*@return

*/

public staticString getYYYYMMDDHHMMSS(Date inputDate) {

SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);

formatter.setTimeZone(TimeZone.getTimeZone("GMT+8"));

String thisTime= newString(formatter.format(inputDate));returnthisTime;

}/*** 获取当前时间格式为yyyy-MM-ddHHmmssSSS的字符串

*@return

*/

public staticString getCurrentYYYYMMDDHHMMssSSS() {

SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-ddHHmmssSSS", Locale.US);

formatter.setTimeZone(TimeZone.getTimeZone("GMT+8"));

Date currTime= newDate();

String thisTime= newString(formatter.format(currTime));returnthisTime;

}/*** 获取当前时间格式为yyyyMMddHHmmssSSS的字符串

*@return

*/

public staticString getCurrentYYYYMMDDHHMMssSSSFormat() {

SimpleDateFormat formatter= new SimpleDateFormat("yyyyMMddHHmmssSSS", Locale.US);

formatter.setTimeZone(TimeZone.getTimeZone("GMT+8"));

Date currTime= newDate();

String thisTime= newString(formatter.format(currTime));returnthisTime;

}/*** 获取当前时间格式为yyyyMMddHHmmssSSS的字符串

*@return

*/

public staticString getCurrentYYYYMMDDFormat() {

SimpleDateFormat formatter= new SimpleDateFormat("yyyyMMdd", Locale.US);

formatter.setTimeZone(TimeZone.getTimeZone("GMT+8"));

Date currTime= newDate();

String thisTime= newString(formatter.format(currTime));returnthisTime;

}/*** 获取当前时间格式为yyyy-MM-dd的字符串

*@return

*/

public staticString getCurrentYYYYMMDD() {

SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd", Locale.US);

formatter.setTimeZone(TimeZone.getTimeZone("GMT+8"));

Date currTime= newDate();

String thisTime= newString(formatter.format(currTime));returnthisTime;

}/*** 获取当前时间格式为yyyyMMddHHmmss的字符串

*@return

*/

public staticString getCurrent_yyyyMMddHHmmss() {

SimpleDateFormat formatter= new SimpleDateFormat("yyyyMMddHHmmss", Locale.US);

formatter.setTimeZone(TimeZone.getTimeZone("GMT+8"));

Date currTime= newDate();

String thisTime= newString(formatter.format(currTime));returnthisTime;

}/*** yyyyMMddHHmmss转换为yyyy-MM-dd HH:mm:ss 的字符串*/

public staticString getyMdHms(String str){

StringBuffer sb=newStringBuffer();

String s=str.trim();if(!s.isEmpty()){if(s.length()>3){

sb.append(s.substring(0, 4));

}if(s.length()>5){

sb.append("-");

sb.append(s.substring(4, 6));

}if(s.length()>7){

sb.append("-");

sb.append(s.substring(6, 8));

}if(s.length()>9){

sb.append(" ");

sb.append(s.substring(8, 10));

}if(s.length()>11){

sb.append(":");

sb.append(s.substring(10, 12));

}if(s.length()>13){

sb.append(":");

sb.append(s.substring(12, 14));

}

}returnsb.toString();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值