⭐概念
java.util.Claendar日历类,抽象类,在Date类后出现的,替换掉了很多Date类中的方法,该类将所有的可能用到的时间信息封装为静态成员变量,通过类名.静态成员变量获取时间字段值
⭐获取方式
由于Calendar类是一个抽象类,语言敏感性,Calendar类并不是直接创建对象来获取时间属性值,而是通过静态方法创建,返回子类对象。
Calendar calendar=Calendar.getInstance();//获取一个日历对象
⭐将日期转换为字符串
代码演示
public class Demo{
public static void main(String [] args){
Calendar calendar=Calendar.getInstance();//获取一个日历对象
Date date=calendar.getTime();
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
System.out.println(simpleDateFormat.format(date));//将日期转换为字符串
}
}
运行结果:
⭐获取日历对象的年、月、日、时、分、秒
代码演示
public class Demo2{
public static void main(String [] args){
Calendar calendar=Calendar.getInstance();//获取一个日历对象
Date date=calendar.getTime();
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println("当前时间:"+simpleDateFormat.format(date));//将日期转换为字符串
//获取日历对象的年、月、日、时、分、秒
int year = calendar.get(Calendar.YEAR); //获取日历对象的年份
int month = calendar.get(Calendar.MONTH);//获取日历对象的月份
int day = calendar.get(Calendar.DAY_OF_MONTH);//获取日历对象中月份的第几天
System.out.print(year+"年\t"+month+"月\t"+day+"号\t");
int hour = calendar.get(Calendar.HOUR);//获取日历对象的时
int minute = calendar.get(Calendar.MINUTE);//获取日历对象的分
int second = calendar.get(Calendar.SECOND);//获取日历对象的秒
System.out.println(hour+"时\t"+minute+"分\t"+second+"秒");
}
}
运行结果:
⭐日期加减
代码演示
public class Demo3{
public static void main(String [] args){
Calendar calendar=Calendar.getInstance();//获取一个日历对象
Date date=calendar.getTime();
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println("当前时间:"+simpleDateFormat.format(date));//将日期转换为字符串
calendar.add(Calendar.YEAR,2); //把当前的年份增加2年
calendar.add(Calendar.MONTH,-3); //把当前的月份减少3月
int year2= calendar.get(Calendar.YEAR);
int month2= calendar.get(Calendar.MONTH);
System.out.println("增加后的年份:"+year2);
System.out.println("减少后的月份:"+month2);
}
}
运行结果:
⭐将日历对象转化为时间戳(两种方法)
代码演示
public class Demo4{
public void static main(String [] args){
Calendar calendar=Calendar.getInstance();//获取一个日历对象
Date date=calendar.getTime();
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println("当前时间:"+simpleDateFormat.format(date));//将日期转换为字符串
// 将日历对象转化为时间戳(两种方法)
System.out.println("第一种:"+calendar.getTime().getTime());
System.out.println("第二种:"+calendar.getTimeInMillis());
}
}
运行结果:
⭐两个时间类型比较
代码演示
public class Demo5{
public void static main(String [] args){
Calendar calendar=Calendar.getInstance();//获取一个日历对象
//为日历对象定义一个指定日期的数据
calendar.set(2011,1,11,8,35,15);//为日历对象添加年、月、日
// 两个时间类型的比较
Calendar calendar2=Calendar.getInstance();
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println("calendar时间:"+simpleDateFormat.format(calendar.getTime()));
System.out.println("calendar2时间:"+simpleDateFormat.format(calendar2.getTime()));
if(calendar.before(calendar2)){ //判断此 Calendar 表示的时间是否在指定 Object 表示的时间之前,返回判断结果。
System.out.println("calendar时间比calendar2时间前");
}
if(calendar2.after(calendar)){//判断此 Calendar 表示的时间是否在指定 Object 表示的时间之后,返回判断结果。
System.out.println("calendar2时间比calendar时间后");
}
}
}
}
运行结果:
🍋最后🍋
总结不易,希望小宝们不要吝啬你们的👍哟(^U^)