Calendar是目前程序中最常用的类,但是是抽象类,不能直接new;
Calendar常用的方法:
1)calendar.get(Calendar.YEAR) //获取年份
2)calendar.get(Calendar.MONTH)+1*//获取月份,这里的月份的范围是从0~11,因此获取月份的时候需要+1才是当前月份值*
3)calendar.get(Calendar.DAY_OF_MONTH)//获取日
4) calendar.get(Calendar.HOUR) //获取时
calendar.get(Calendar.HOUR_OF_DAY) //24小时制
5)calendar.get(Calendar.MINUTE) //获取分
6)calendar.get(Calendar.SECOND) //获取秒
// 获取任意一个月的最后一天
public void test3() {
// 假设求7月的最后一天
int currentMonth = 7;
// 先求出8月份的第一天,实际中这里7为外部传递进来的currentMonth变量
// 1
calendar.set(calendar.get(Calendar.YEAR), currentMonth, 1);
calendar.add(Calendar.DATE, -1);
// 获取日
int day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println("6月份的最后一天为" + day + "号");
}
// 设置日期
public void test4() {
calendar.set(Calendar.YEAR, 2000);
System.out.println("现在是" + calendar.get(Calendar.YEAR) + "年");
calendar.set(2018, 7, 8);
// 获取年
int year = calendar.get(Calendar.YEAR);
// 获取月
int month = calendar.get(Calendar.MONTH)+1;
// 获取日
int day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println("现在是" + year + "年" + month + "月" + day + "日");
}
//add和roll的区别
public void test5() {
calendar.set(2018, 7, 8);
calendar.add(Calendar.DAY_OF_MONTH, -8);
// 获取年
int year = calendar.get(Calendar.YEAR);
// 获取月
int month = calendar.get(Calendar.MONTH)+1;
// 获取日
int day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println("2018.8.8, 用add减少8天,现在是" + year + "." + month + "." + day);
calendar.set(2018, 7, 8);
calendar.roll(Calendar.DAY_OF_MONTH, -8);
// 获取年
year = calendar.get(Calendar.YEAR);
// 获取月
month = calendar.get(Calendar.MONTH)+1;
// 获取日
day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println("2018.8.8, 用roll减少8天,现在是" + year + "." + month + "." + day);
}
//输出结果:2018.8.8, 用add减少8天,现在是2018.7.31
// 2018.8.8, 用roll减少8天,现在是2018.8.31
Date类:
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
Date d = new Date();
System.out.println(d); //输出当前日期时间
System.out.println(d.getTime()); //输出从1970年1月1日00时00分起的毫秒数。
}
}
LocalDate 类:
获取当前日期:LocalDate today = LocalDate.now();
获取当前日期时分秒 LocalDateTime today = LocalDateTime.now();