介绍:
java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。
第一个构造函数使用当前日期和时间来初始化对象
语法:Date( )
但是时间现在大部分方法都已经过时,这里给大家一个时间工具类
工具类 工具类包括: 1.计算相差天数 2.获取当前时间 3.计算两个时间差
public class DateUtils
{
public static String YYYY = "yyyy";
public static String YYYY_MM = "yyyy-MM";
public static String YYYY_MM_DD = "yyyy-MM-dd";
public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
private static String[] parsePatterns = {
"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM",
"yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",
"yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};
public static Date getNowDate()
{
return new Date();
}
public static String getDate()
{
return dateTimeNow(YYYY_MM_DD);
}
public static final String getTime()
{
return dateTimeNow(YYYY_MM_DD_HH_MM_SS);
}
public static final String dateTimeNow()
{
return dateTimeNow(YYYYMMDDHHMMSS);
}
public static final String dateTimeNow(final String format)
{
return parseDateToStr(format, new Date());
}
public static final String dateTime(final Date date)
{
return parseDateToStr(YYYY_MM_DD, date);
}
public static final String parseDateToStr(final String format, final Date date)
{
return new SimpleDateFormat(format).format(date);
}
public static final Date dateTime(final String format, final String ts)
{
try
{
return new SimpleDateFormat(format).parse(ts);
}
catch (ParseException e)
{
throw new RuntimeException(e);
}
}
public static Date getServerStartDate()
{
long time = ManagementFactory.getRuntimeMXBean().getStartTime();
return new Date(time);
}
public static int differentDaysByMillisecond(Date date1, Date date2)
{
return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24)));
}
public static String getDatePoor(Date endDate, Date nowDate)
{
long nd = 1000 * 24 * 60 * 60;
long nh = 1000 * 60 * 60;
long nm = 1000 * 60;
// long ns = 1000;
// 获得两个时间的毫秒时间差异
long diff = endDate.getTime() - nowDate.getTime();
// 计算差多少天
long day = diff / nd;
// 计算差多少小时
long hour = diff % nd / nh;
// 计算差多少分钟
long min = diff % nd % nh / nm;
// 计算差多少秒//输出结果
// long sec = diff % nd % nh % nm / ns;
return day + "天" + hour + "小时" + min + "分钟";
}
public static void main(String[] args) {
//没有格式化的时间
Date nowDate = getNowDate();
System.out.println("没有格式化的时间:"+nowDate);
//格式化的时间 YYYY_MM_DD_HH_MM_SS
String time = getTime();
System.out.println("格式化的时间:"+time);
// 格式化的时间 YYYYMMDDHHMMSS
String s = dateTimeNow();
System.out.println("YYYYMMDDHHMMSS:"+s);
// 格式化的时间 YYYY_MM_DD
String date = getDate();
System.out.println("年月日:"+date);
// 格式化的时间 年月日
String s1 = dateTime(new Date());
System.out.println("年月日"+s1);
//计算相差天数
int i = differentDaysByMillisecond(new Date(), new Date());
System.out.println("相差天数"+i);
String datePoor = getDatePoor(new Date(),new Date());
System.out.println("计算两个时间差"+datePoor);
}
}
测试结果:
没有格式化的时间:Mon Apr 25 10:35:58 CST 2022
格式化的时间:2022-04-25 10:35:58
YYYYMMDDHHMMSS:20220425103558
年月日:2022-04-25
年月日2022-04-25
相差天数0
计算两个时间差0天0小时0分钟



