Java JDK 7中,可以使用Calendar
类来操作日期和时间。
下面是一个示例代码,展示如何使用Calendar
类获取当前日期和时间:
import java.util.Calendar;
public class CalendarExample {
public static void main(String[] args) {
// 创建一个Calendar实例
Calendar calendar = Calendar.getInstance();
// 获取当前时间
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1; // 月份从0开始,所以要加1
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
// 输出当前时间
System.out.println("当前时间:" + year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second);
}
}
输出结果类似于:当前时间:2023-5-10 14:25:30
。
除了获取当前时间,Calendar
类还可以进行日期和时间的计算、格式化输出等操作。下面是一些示例代码:
import java.util.Calendar;
public class CalendarExample {
public static void main(String[] args) {
Calendar calendar1 = Calendar.getInstance();
calendar1.set(2023, Calendar.MAY, 1);
Calendar calendar2 = Calendar.getInstance();
calendar2.set(2023, Calendar.MAY, 10);
long diffMillis = calendar2.getTimeInMillis() - calendar1.getTimeInMillis();
long diffDays = diffMillis / (24 * 60 * 60 * 1000);
System.out.println("相差天数:" + diffDays);
}
}
输出结果为:相差天数:9
。
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class CalendarExample {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
// 格式化日期
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String dateString = dateFormat.format(date);
System.out.println("日期:" + dateString);
// 格式化时间
SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
String timeString = timeFormat.format(date);
System.out.println("时间:" + timeString);
}
}
输出结果为:日期:2023-05-10
和时间:14:25:30
。
需要注意的是,Calendar
类中月份的取值范围是0~11,即0表示1月,11表示12月。同时,使用Calendar
类进行日期和时间的计算时,需要考虑到时区和夏令时等因素。
import java.util.Calendar;
public class CalendarExample {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
// 在日期上进行加减
calendar.add(Calendar.DAY_OF_MONTH, 3);
System.out.println("加3天后的日期:" + calendar.getTime());
// 在时间上进行加减
calendar.add(Calendar.HOUR_OF_DAY, -2);
System.out.println("减2小时后的时间:" + calendar.getTime());
}
}
输出结果为:加3天后的日期:2023-05-13 14:25:30
和减2小时后的时间:2023-05-13 12:25:30
。
import java.util.Calendar;
public class CalendarExample {
public static void main(String[] args) {
Calendar calendar1 = Calendar.getInstance();
calendar1.set(2023, Calendar.MAY, 10);
Calendar calendar2 = Calendar.getInstance();
calendar2.set(2023, Calendar.MAY, 10);
boolean isEqual = calendar1.equals(calendar2);
System.out.println("两个日期是否相等:" + isEqual);
}
}
输出结果为:两个日期是否相等:true
。
import java.util.Calendar;
public class CalendarExample {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2023);
calendar.set(Calendar.MONTH, Calendar.FEBRUARY);
int daysInMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println("2023年2月份的天数:" + daysInMonth);
}
}
输出结果为:2023年2月份的天数:28
。
以上是一些使用Calendar
类进行日期和时间操作的示例,这些操作涵盖了Calendar
类的主要功能。但需要注意的是,Java 8引入了java.time
包,该包中的类提供了更好的日期和时间处理方式,建议在Java 8及以上版本中使用该包。
原文链接:codingdict.net