java 日期与毫秒转换,计算指定日期后N天

最近写一些工具类中,遇到一些日期转换的问题,特意把方法分享,其还有很大的改进空间

/**
* 把毫秒转化为日期<br/>
* 转化后格式为 yyyy-MM-dd HH:mm:ss
*
* @param ms
* @return 日期字符串
*/
public static String msToDate(String ms) {
final long msTime = Long.parseLong(ms);
final Date date = new Date(msTime);
final SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
return sdf.format(date);
}

/**
* 计算指定时间在某个间隔内的时间<br/>
* 并把最终的时间转化为毫秒<br/>
* 当时间间隔为空时,只把指定时间转化为毫秒
*
* @param dateTime
*            指定的时间
* @param btTime
*            时间间隔
* @return ms 转化后的毫秒数
*/
public static String dateFormat(String dateTime, String btTime) {
String ms = “”;
final Calendar calendar = Calendar.getInstance();
final SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
if (!btTime.equals(“”) && btTime != null) {
Date d = null;
try {
d = sdf.parse(dateTime);
calendar.setTime(d);
calendar.add(calendar.DATE, Integer.parseInt(btTime));
} catch (ParseException e) {
e.printStackTrace();
}
ms = dateToMs(sdf.format(calendar.getTime()));
} else {
ms = dateToMs(dateTime);
}
return ms;
}

/**
* 把指定时间转化为毫秒
*
* @param dateTime
*            指定时间
* @return ms 转化后的毫秒数
*/
public static String dateToMs(String dateTime) {
final SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
Date dm = null;
try {
dm = sdf.parse(dateTime);
} catch (ParseException e) {
e.printStackTrace();
}
return String.valueOf(dm.getTime());
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注