import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtils {
// 格式化日期
public static String formatDate(Date date, String format) {
DateFormat dateFormat = new SimpleDateFormat(format);
return dateFormat.format(date);
}
// 解析日期
public static Date parseDate(String dateStr, String format) throws ParseException {
DateFormat dateFormat = new SimpleDateFormat(format);
return dateFormat.parse(dateStr);
}
// 获取当前日期
public static Date getCurrentDate() {
return new Date();
}
// 获取当前日期(带时间)
public static String getCurrentDateString(String format) {
return formatDate(new Date(), format);
}
// 获取当前日期的指定格式字符串
public static String getCurrentDateString() {
return getCurrentDateString("yyyy-MM-dd HH:mm:ss");
}
// 添加天数
public static Date addDays(Date date, int days) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_MONTH, days);
return calendar.getTime();
}
// 添加月数
public static Date addMonths(Date date, int months) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MONTH, months);
return calendar.getTime();
}
// 添加年数
public static Date addYears(Date date, int years) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.YEAR, years);
return calendar.getTime();
}
// 计算两个日期之间的天数差
public static int daysBetween(Date startDate, Date endDate) {
long diff = endDate.getTime() - startDate.getTime();
return (int) (diff / (1000 * 60 * 60 * 24));
}
public static void main(String[] args) {
// 使用示例
Date currentDate = getCurrentDate();
System.out.println("当前日期:" + currentDate);
String dateString = getCurrentDateString();
System.out.println("当前日期字符串:" + dateString);
try {
Date parsedDate = parseDate("2024-04-23", "yyyy-MM-dd");
System.out.println("解析后的日期:" + parsedDate);
} catch (ParseException e) {
e.printStackTrace();
}
Date futureDate = addDays(currentDate, 10);
System.out.println("10天后的日期:" + futureDate);
int daysDiff = daysBetween(currentDate, futureDate);
System.out.println("当前日期与未来日期之间的天数差:" + daysDiff);
}
}
Java 日期工具类可以帮助你处理日期和时间的操作,包括日期格式化、日期解析、日期计算等功能。
于 2024-04-23 16:53:27 首次发布
本文介绍了Java工具类DateUtils中的一系列日期处理功能,包括日期格式化、解析、获取当前日期、添加天数、月数和年数,以及计算两个日期之间的天数差。
摘要由CSDN通过智能技术生成