Java之时间相加减和其他用法

Java之时间相加减和其他用法

开发工具与关键技术:MyEclipse 10,java
作者:刘东标
撰写时间:2019-07-02

Java提供了Date类来处理日期、时间(此处的Date是指java.util包下的Date类,而不 是java.sql包下的Date类),Date对象既包含日期,也包含时间。Date类从JDK1.0起 就开始存在了,因为它历史悠久,所以它的大部分构造器、方法都已经过时,不再推 荐使用了。
Calendar类
由于Date类过于古老,许多的构造器和方法都已经过时。Java推荐使用Calendar来完 成时间计算等操作。

package com.gx.commonclass;
    
    import java.util.Calendar;
    import java.util.Date;
    /**
     * Calendar类
     * 
     * @author LDB
     *
     */
    public class CalendarClassDemo {
    	public static void main(String[] args) {
    
    		// 使用默认时区和语言环境获得一个日历
    		Calendar cal = Calendar.getInstance();
    
    		System.out.println("---------获取时间----------");
    		// 获取时间
    		System.out.println("年:" + cal.get(Calendar.YEAR));
    		System.out.println("月:" + (cal.get(Calendar.MONTH) + 1)); // 月是从0开始(0~11),所以需要+1
    		System.out.println("日:" + cal.get(Calendar.DAY_OF_MONTH));
    		System.out.println("时:" + cal.get(Calendar.HOUR_OF_DAY));
    		System.out.println("分:" + cal.get(Calendar.MINUTE));
    		System.out.println("秒:" + cal.get(Calendar.SECOND));
    
    		System.out.println("---------设置时间----------");
    		// 设置时间
    		// 1、使用set一次设置
    		// cal.set(year, month, date, hourOfDay, minute, second);//月是从0开始(0~11)
    		cal.set(2019, 4, 4, 4, 4, 4);
    		System.out.println(cal.getTime());
    		//2、单个字段一一设置
    		cal.set(Calendar.YEAR, 2019);
    	    cal.set(Calendar.MONTH, Calendar.MAY);//使用英文的十二个月的单词
    	    cal.set(Calendar.DAY_OF_MONTH, 4);
    	    cal.set(Calendar.HOUR_OF_DAY, 4);
    	    cal.set(Calendar.MINUTE, 4);
    	    cal.set(Calendar.SECOND, 4);
    		System.out.println(cal.getTime());
    //		
    		System.out.println("---------时间计算----------");
    		//时间计算
    		System.out.println("----add----");
    		//add方法          //May五月份
    		cal.add(Calendar.MONTH, 5);//+5个月
    		System.out.println(cal.getTime());
    		cal.add(Calendar.MONTH, -5);
    		System.out.println(cal.getTime());
    //
    		System.out.println("----roll----");
    		//roll方法
    		cal.roll(Calendar.MONTH, 5);//+5个月
    		System.out.println(cal.getTime());
    		cal.roll(Calendar.MONTH, -5);
    		System.out.println(cal.getTime());
    //		
    		//add方法会产生其他相关时间属性的连动变化
    		//roll方法只是对相应时间属性的域内做变化
    		System.out.println("----add 和 roll的区别----");
    		Calendar calAdd = Calendar.getInstance();
    		calAdd.add(Calendar.MONTH, 9);
    		System.out.println(calAdd.getTime());
    //		
    		Calendar calRoll = Calendar.getInstance();
    		calRoll.roll(Calendar.MONTH, 9);
    		System.out.println(calRoll.getTime());
    //		
    		//Calendar和Date的相互转换
    		System.out.println("Date和Calendar 的相互转换");
            //Calendar---> Date
            Date date1=cal.getTime();
            System.out.println(date1);
    
            //Date--->Calendar
            Calendar cal2=Calendar.getInstance();
            cal2.setTime(date1);
    	}
    }

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值