定义一个类,用来转化时间格式
注:使用该类时,定义的实体类的时间类型应该是String。eg: private String Date;
package com.sl.util;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtil {
/**
* 日期转化为字符串
* @param date 日期
* @param format 转换的形式
* @return 日期字符串
*/
public static String formatDate(Date date,String format){
SimpleDateFormat sdf= new SimpleDateFormat(format);
if(date!=null){
return sdf.format(date);
}
return null;
}
/**
* 当前日期转化为特定字符串
* @return 日期字符串
*/
public static String getCurrentDateString(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
return sdf.format(new Date());
}
/**
* 当前日期转化为特定字符串
* @return 日期字符串
*/
public static String getDateString(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(new Date());
}
/**
* 字符串转化为日期
* @param str 字符串
* @param format 形式
* @return 日期
* @throws ParseException
*/
public static Date formatString(String str, String format) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat(format);
if(str!=null){
return sdf.parse(str);
}
return null;
}
/**
* 得到当前时间后一天的时间
* @return
*/
public static String getLaterOneDate(){
Calendar c = Calendar.getInstance();
c.add(Calendar.DAY_OF_MONTH, 1);
Date start = c.getTime();
String startTime = DateUtil.formatDate(start, "yyyy-MM-dd HH:mm:ss");
return startTime;
}
/**
* 比如把 20191225075138 转为 2019-12-25 07:51:38
* @param dateStr 20191225075138
* @return
*/
public static String strTostr(String dateStr) throws ParseException {
DateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = df.parse(dateStr);
DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str2=df2.format(date);
return str2;
}
/**
* 比较时间的早晚
* @param dateStr 初始时间
* @param num 分钟时间差数值
* @return
* @throws ParseException
*/
public static boolean isBegin(String dateStr, int num) throws ParseException {
//当前时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
Date startTiem = sdf.parse(dateStr);
//当前时间减时间差
Calendar c = Calendar.getInstance();
c.add(Calendar.MINUTE, (-1) * num);
//减去时间差的时间
Date relDate = c.getTime();
String relDateStr = DateUtil.formatDate(relDate, "yyyyMMddHHmmss");
Date comDate = sdf.parse(relDateStr);
if (startTiem.before(comDate)){
//当前时间晚 时间相等也是晚
return true;
}else {
return false;
}
}
}
引用例子:
newsDetail.setDate(DateUtil.formatDate(new Date(), "yyyy-MM-dd HH-mm-ss"));
newsDetail为我定义的一个实体类。