package + 包名;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtil
{
/* 默认的模式字符串 */
private String dateTimePattern = “yyyy-MM-dd HH:mm:ss”;
private String datePattern = “yyyy-MM-dd”;
/**
* 将Date变成有格式的字符串
* @param date
* @return
*/
public String dateToStr(Date date)
{
/* 模式字符串 */
SimpleDateFormat sdf = new SimpleDateFormat(this.datePattern);
/* 将Date变成字符串 */
return sdf.format(date);
}
/**
* 将Date变成有格式的字符串
* @param date
* @return
*/
public String dateToStr(Date date,String pattern)
{
/* 模式字符串 */
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
/* 将Date变成字符串 */
return sdf.format(date);
}
/**
* 将Date变成有格式的字符串
* @param date
* @return
*/
public String dateTimeToStr(Date date)
{
/* 模式字符串 */
SimpleDateFormat sdf = new SimpleDateFormat(this.dateTimePattern);
/* 将Date变成字符串 */
return sdf.format(date);
}
/**
* 将字符串变成有格式的Date
* @param date
* @return
*/
public Date strToDate(String dateStr)
{
/* 模式字符串 */
SimpleDateFormat sdf = new SimpleDateFormat(this.datePattern);
try
{
/* 将Date变成字符串 */
return sdf.parse(dateStr);
} catch (ParseException e)
{
//e.printStackTrace();
System.out.println("==时间格式有问题,会变成当前时间==");
}
/* 如果转换失败,为了不报空指针,返回当前时间 */
return new Date() ;
}
/**
* 将Date变成有格式的字符串
* @param date
* @return
*/
public Date strToDateTime(String dateStr,String pattern)
{
/* 模式字符串 */
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
try
{
/* 将Date变成字符串 */
return sdf.parse(dateStr);
} catch (ParseException e)
{
//e.printStackTrace();
System.out.println("==时间格式有问题,会变成当前时间==");
}
/* 如果转换失败,为了不报空指针,返回当前时间 */
return new Date() ;
}
/**
* 将Date变成有格式的字符串
* @param date
* @return
*/
public Date strToDateTime(String dateStr)
{
SimpleDateFormat sdf = new SimpleDateFormat(this.dateTimePattern);
try
{
/* 将Date变成字符串 */
return sdf.parse(dateStr);
} catch (ParseException e)
{
e.printStackTrace();
}
/* 如果转换失败,为了不报空指针,返回当前时间 */
return new Date() ;
}
/**
* 判断是不是昨天
*
* 取日期,-1;
* nowDate:2018-08-02 22:22:22
* oldDate:2018-07-08 12:12:12
*
* nowDate的昨天:
* 2018-08-01 00:00:00==>2018-08-02 00:00:00
* 判断oldDate>2018-08-01 00:00:00
* 并且小于2018-08-02 00:00:00
*
* @param nowDate 结束时间
* @param oldDate 老时间
* @return
*/
public boolean isyesDay(Date nowDate,Date oldDate)
{
Calendar calendar = Calendar.getInstance() ;
/* 将nowDate覆盖当前时间 */
calendar.setTime(nowDate);
/* 将时分秒清0 */
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE,0);
calendar.set(Calendar.SECOND,0);
/* 结束时间
* 2018-08-02 00:00:00 */
Date edDate = calendar.getTime() ;
/* 时间-1 */
calendar.add(Calendar.DATE, -1);
Date stDate = calendar.getTime() ;
System.out.println(stDate.toLocaleString() + "=====>" + edDate.toLocaleString());
/* 判断oldDate>2018-08-01 00:00:00
* 并且小于2018-08-02 00:00:00 */
return oldDate.after(stDate) && oldDate.before(edDate) ;
}
public static void main(String[] args)
{
DateUtil dateUtil = new DateUtil() ;
/* 转时间 */
Date nowDate = dateUtil.strToDateTime("2018-08-08 22:22:22");
Date oldDate = dateUtil.strToDateTime("2018-08-05 20:22:22");
boolean flag = dateUtil.isyesDay(nowDate, oldDate);
System.out.println("====>" + flag);
}
}