您的位置:首页 > 编程语言 > Java开发

Java时间处理工具类

2017-03-13 19:04 399 查看
项目中用到的时间处理工具类,总结了下:

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class DateUtil {

//hh表示的是12小时制,HH才是24小时制
private static final String completeDateFormat = "yyyy-MM-dd HH:mm:ss";
private static final String completeMMMDateFormat = "yyyy-MM-dd HH:mm:ss.SSS";
private static final String partDateFormat = "yyyy-MM-dd";

/**
* 获取当前时间的标准格式
* @return
* test: System.out.println(DateUtil.getCurrentTime());
* 		 2017-03-13 17:14:11
*/
public static String getCurrentTime() {
String returnStr = null;
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
returnStr = f.format(date);
return returnStr;
}

/**
* 将时间按照一定格式转化为字符串格式
* @param date
* @param type
* @return
* test: System.out.println(DateUtil.ConvertDateToString(new Date(), "yyyy-MM-dd"));
* 		 2017-03-13
*/
public static String ConvertDateToString(Date date, String type) {
if (date == null) {
return null;
}
String result = "";
SimpleDateFormat format = new SimpleDateFormat(type);
result = format.format(date);
return result;
}

/**
* 将时间字符串按照一定格式转化为字符串格式
*
* @param str 转化为时间的字符串
* @param type 转化为时间的格式
* @return
* @throws ParseException
* test: System.out.println(DateUtil.ConvertStringToDate("1991-01-01 00:00:00", "yyyy-MM-dd HH:mm:ss"));
* 		 Tue Jan 01 00:00:00 CST 1991
*/
public static Date ConvertStringToDate(String str, String type)
throws ParseException {
DateFormat dd = new SimpleDateFormat(type);
Date result = null;
try {
result = dd.parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
return result;
}

/**
* 获取当前时间戳
* @return
* test: System.out.println(DateUtil.getNowDateTimeStr());
* 		 20170313180008958
*/
public static String getNowDateTimeStr() {
return ConvertDateToString(new Date(), "yyyyMMddHHmmssSSS");
}

/**
* 根据给定数字得出/天/时/分/秒/毫秒
* @param msUsed
* @return
* test: System.out.println(DateUtil.timeToString(48373873));
* 		 13小时26分13秒
*/
public static String timeToString(long msUsed) {
if (msUsed < 0L) {
return String.valueOf(msUsed);
}
if (msUsed < 1000L) {
return String.valueOf(msUsed) + "毫秒";
}

msUsed /= 1000L;
if (msUsed < 60L) {
return String.valueOf(msUsed) + "秒";
}
if (msUsed < 3600L) {
long nMinute = msUsed / 60L;
long nSecond = msUsed % 60L;
return String.valueOf(nMinute) + "分" + String.valueOf(nSecond)
+ "秒";
}

if (msUsed < 86400L) {
long nHour = msUsed / 3600L;
long nMinute = (msUsed - nHour * 3600L) / 60L;
long nSecond = (msUsed - nHour * 3600L) % 60L;
return String.valueOf(nHour) + "小时" + String.valueOf(nMinute) + "分"
+ String.valueOf(nSecond) + "秒";
}

long nDay = msUsed / 86400L;
long nHour = (msUsed - nDay * 86400L) / 3600L;
long nMinute = (msUsed - nDay * 86400L - nHour * 3600L) / 60L;
long nSecond = (msUsed - nDay * 86400L - nHour * 3600L) % 60L;
return String.valueOf(nDay) + "天" + String.valueOf(nHour) + "小时"
+ String.valueOf(nMinute) + "分" + String.valueOf(nSecond) + "秒";
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java Date SimpleDateFormat