Java学习笔记——Date和Calendar类的区别、简单使用及转换

参考:https://blog.csdn.net/qq_36138652/article/details/82430600
更多可看:https://www.runoob.com/java/java-date-time.html

两个类的区别:
java.util包提供了这两个类来封装当前的日期和时间。Date类可以获取日期数据,精确到毫秒;与Date类相比,Calendar类是一个抽象类,它所提供的方法除了可以获取日期数据外,还可以设置和修改日期数据的特定部分,也就是说,Calendar类的功能更强大。

两个类的简单使用:

//获得系统时间,一般用long类型,currentTimeMillis()方法返回从1970年1月1日起到现在的毫秒数
long TimeNow = System.currentTimeMillis();
System.out.println("此刻的时间"+TimeNow);
//利用Date类来转化这个时间
Date date=new Date(TimeNow);
System.out.println("Date类转化的时间"+date);

//利用Date类获得此刻的时间
Date date2=new Date();
System.out.println("Date类获得的时间"+date2);

//利用Calendar类获得此刻的时间,并获取日期数据的特定部分
Calendar calendar=Calendar.getInstance();
System.out.println("Calendar类获得的时间"+calendar.getTime());
//格式化时间格式
SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("Calendar类获得的时间"+s.format(calendar.getTime()));
//月份下标从0开始,所以取月份要+1
System.out.println("Calendar类获得的时间"+calendar.get(Calendar.YEAR)+"-"+(calendar.get(Calendar.MONTH)+1)+"-"+calendar.get(Calendar.DATE)
        +" "+calendar.get(Calendar.HOUR_OF_DAY)+":"+calendar.get(Calendar.MINUTE)+":"+calendar.get(Calendar.SECOND));

//利用Calendar类设置和修改日期数据的特定部分
calendar.set(2009, 6, 12);
System.out.println("Calendar类设置的时间"+s.format(calendar.getTime()));
calendar.set(Calendar.DATE,10);
System.out.println("Calendar类设置的时间"+s.format(calendar.getTime()));
calendar.add(Calendar.DATE, -10);
System.out.println("Calendar类修改的时间"+s.format(calendar.getTime()));

//确定给定的年份是否为闰年用GregorianCalendar类(Calendar类的子类)

输出为

此刻的时间1636026984457
Date类转化的时间Thu Nov 04 19:56:24 CST 2021
Date类获得的时间Thu Nov 04 19:56:24 CST 2021
Calendar类获得的时间Thu Nov 04 19:56:24 CST 2021
Calendar类获得的时间2021-11-04 19:56:24
Calendar类获得的时间2021-11-4 19:56:24
Calendar类设置的时间2009-07-12 19:56:24
Calendar类设置的时间2009-07-10 19:56:24
Calendar类修改的时间2009-06-30 19:56:24

两个类的互相转换:

//Calendar转Date
//getTime()方法返回Date类型
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String s = simpleDateFormat.format(date);
System.out.println("Calendar转Date:"+s);

//Date转Calendar
//setTime()方法的输入参数为Date类型
Date date2 = new Date();
Calendar calendar2 = Calendar.getInstance();
calendar2.setTime(date2);
System.out.println("Date转Calendar:"+calendar2.get(Calendar.YEAR) +"-"+(calendar2.get(Calendar.MONTH)+1)+"-"+calendar2.get(Calendar.DATE));

输出为

CalendarDate2021-11-04
DateCalendar2021-11-4
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值