Java日期函数大全:常用函数及示例
发布时间:2023-08-09 22:32:16
Java中的日期函数主要是通过使用java.util.Date、java.util.Calendar和java.time包下的类来实现的。下面是一些常用的日期函数及示例:
1. 获取当前日期和时间
import java.util.Date; Date now = new Date(); System.out.println(now);
2. 格式化日期
import java.text.SimpleDateFormat;
import java.util.Date;
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = sdf.format(now);
System.out.println(formattedDate);
3. 解析字符串为日期
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
String dateStr = "2021-12-31";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = sdf.parse(dateStr);
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
4. 获取日期的年份、月份和日
import java.util.Calendar; import java.util.Date; Date now = new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(now); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; // 月份是从0开始的,所以要+1 int day = calendar.get(Calendar.DAY_OF_MONTH); System.out.println(year + "-" + month + "-" + day);
5. 获取指定日期是星期几
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
String dateStr = "2022-01-01";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = sdf.parse(dateStr);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
String[] weekdays = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
System.out.println(weekdays[dayOfWeek - 1]);
} catch (ParseException e) {
e.printStackTrace();
}
6. 计算两个日期之间的天数差
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.TimeUnit;
String startDateStr = "2022-01-01";
String endDateStr = "2022-03-31";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date startDate = sdf.parse(startDateStr);
Date endDate = sdf.parse(endDateStr);
long diffInMillies = Math.abs(endDate.getTime() - startDate.getTime());
long diffInDays = TimeUnit.DAYS.convert(diffInMillies, TimeUnit.MILLISECONDS);
System.out.println(diffInDays);
} catch (ParseException e) {
e.printStackTrace();
}
7. 添加或减少指定时间段
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
Date now = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(now);
calendar.add(Calendar.DAY_OF_MONTH, 7); // 添加7天
calendar.add(Calendar.MONTH, -1); // 减少1个月
Date newDate = calendar.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String formattedNewDate = sdf.format(newDate);
System.out.println(formattedNewDate);
以上是一些常用的日期函数及示例,但仅仅是Java日期函数的冰山一角。在实际应用中,可能还会涉及到更多的日期运算、时区转换、日期比较等操作。希望这些示例能够帮助你更好地使用Java进行日期处理。
