# 当前时间

//1、使用 Date 对象并格式化
Date date1 = new Date();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = dateFormat.format(date1);
System.out.println(dateStr);
//2、使用 Calendar 对象
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime().toLocaleString());
//3、使用 DateFormat 对象
DateFormat dateTimeInstance = DateFormat.getDateTimeInstance();
String format = dateTimeInstance.format(new Date());
System.out.println(format);

Calendar 和 DateFormat 对象不是通过 new 新建。

# 时间加法

// 使用 Calendar 对象
Calendar calendar = Calendar.getInstance();
// 日期格式化对象
DateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//1、获取当前时间
calendar.setTime(calendar.getTime());
Date nowDate = calendar.getTime();
String nowDateStr = dateformat.format(nowDate);
System.out.println(nowDateStr);
//2、当前时间增加 24 小时
calendar.add(Calendar.HOUR, 24);
Date addition24HourDate = calendar.getTime();
String addition24DateStr = dateformat.format(addition24HourDate);
System.out.println(addition24DateStr);
//3、再增加 5 分钟
calendar.add(Calendar.MINUTE, 5);
Date addition5MinuteDate = calendar.getTime();
String addition5MinuteDateStr = dateformat.format(addition5MinuteDate);
System.out.println(addition5MinuteDateStr);
//4、再增加 1 年
calendar.add(Calendar.YEAR, 1);
Date addition1YearDate = calendar.getTime();
String addition1YearDateStr = dateformat.format(addition1YearDate);
System.out.println(addition1YearDateStr);

同一 Calendar 对象,时间累加;如果不累加,需要新的 Calendar 对象。

# 时间减法

// 使用 Date 对象
//1、指定两个 Date 对象
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date nowDate = new Date();
String yesterday = "2023-09-01 10:00:00";
Date yesterdayDate = dateFormat.parse(yesterday);
//2、时间戳相减(毫秒)
long yesterdayDateTime = yesterdayDate.getTime();
long nowDateTime = nowDate.getTime();
int result = (int) (nowDateTime - yesterdayDateTime);
//3、换算成秒
int diffSecond = result / 1000;
System.out.println(diffSecond);
//4、换算成分钟
int diffMinute = result / 1000 / 60;
System.out.println(diffMinute);
//5、换算成小时
int diffHour = result / 1000 / 60 / 60;
System.out.println(diffHour);
//6、换算成天
int diffDay = result / 86400000;
System.out.println(diffDay);
更新于