java的Calendar类与Date类常用方法及转换

java常用类—Calendar类与Date类的常用方法及转换

  • Calendar类

    从JDK1.1开始,Java官方推荐使用Calendar来替换Date的使用

    获得Calendar类中的信息

      Calendar c2 = Calendar.getInstance();
      //年份
      int year = c2.get(Calendar.YEAR);
    
       //月份,因为获得的月份为实际的月份值减1所以加上1则为当前实际月份
      int month = c2.get(Calendar.MONTH) + 1;
    
      //日期
      int date = c2.get(Calendar.DATE);
    
      //小时
      int hour = c2.get(Calendar.HOUR_OF_DAY);
    
      //分钟
      int minute = c2.get(Calendar.MINUTE);
    
      //秒
      int second = c2.get(Calendar.SECOND);
    
      //星期几,周日是1,周一是2,周二是3,依次类推
      int day = c2.get(Calendar.DAY_OF_WEEK);
    

    Calendar类中的add方法

      public abstract void add(int field,int amount)
      该方法的作用是在Calendar对象中的某个字段上增加或减少一定的数值,增加是amount的值为正,减少时amount的值为负。
      
      
      例如在计算一下当前时间100天以后的日期,代码如下:
      	Calendar c3 = Calendar.getInstance();
      	c3.add(Calendar.DATE, 100);
      	int year1 = c3.get(Calendar.YEAR);
    
      	//月份
      	int month1 = c3.get(Calendar.MONTH) + 1;
      	//日期
      	int date1 = c3.get(Calendar.DATE);
      	//输出的日期则是100天以后的日期
      	System.out.println(year1 + "年" + month1 + "月" + date1 + "日");
    

    Calendar类中的after方法

      public boolean after(Object when)
      该方法的作用是判断当前日期对象是否在when对象的后面,如果在when对象的后面则返回true,否则返回false。
      
      
      例如,代码如下:
      	Calendar c4 = Calendar.getInstance();
      	 c4.set(2018, 8 - 1, 8);
      	Calendar c5 = Calendar.getInstance();
      	c5.set(2019, 8 - 1, 8);
      	boolean b = c5.after(c4);
      	System.out.println(b);
      	该示例代码中对象c4代表的时间是2018年8月8号,对象c5代表的时间是2019年8月8号,则对象c5代表的日期在c4代表的日期之后,所以after方法的返回值是true。
    
  • Date类

    在JDK1.0中,Date类是唯一的一个代表时间的类,所表示特定的瞬间,精确到毫秒

    获得Date类中的信息

      Date d2 = new Date();
    
      //年份
      int year = d2.getYear() + 1900;
    
      //月份
      int month = d2.getMonth() + 1;
    
      //日期
      int date = d2.getDate();
    
      //小时
       int hour = d2.getHours();
    
      //分钟
      int minute = d2.getMinutes();
    
      //秒
      int second = d2.getSeconds();
    
      //星期几
      int day = d2.getDay();
      
      使用Date类中对应的get方法,可以获得Date类对象中相关的信息,需要注意的是使用getYear获得是Date对象中年份减去1900以后的值,
      所以需要显示对应的年份则需要在返回值的基础上加上1900,月份类似。
      在Date类中还提供了getDay方法,用于获得Date对象代表的时间是星期几,Date类规定周日是0,周一是1,周二是2,后续的依次类推
    
  • Calendar类与Date类的转换

      例如,代码如下:
    
    public class CalendarTest {
        public static void main(String[] args) {
            //Calendar--->Date
            Calendar c = Calendar.getInstance();
            Date d = c.getTime();
            //Date--->Calendar
            Date d1 = new Date();
            Calendar c1 = Calendar.getInstance();
            c1.setTime(d1);
            
            System.out.println(d);
            System.out.println(c1.get(Calendar.YEAR)+"年"+(c1.get(Calendar.MONTH)+1)+"月"+c1.get(Calendar.DATE)+"日");
        }
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dlei东

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值