时间类

时间类

Date类
Java提供了Date类来处理日期、时间,Date对象既包含日期,也包含时间。
示例代码:

public static void main(String[] args) {
		//构造器
		Date date= new Date();//获取当前时间的date对象
		Date date2=new Date(System.currentTimeMillis());
		System.out.println(date2);
		System.out.println(date2.toString());
		
		//getTime	setTime
		long longValue=date.getTime();
		longValue+=10000;
		date2.setTime(longValue);
		System.out.println(date2.toString());
		
		//比较
		System.out.println("date.before(date2) ="+date.before(date2));
		System.out.println("date.after(date2) ="+date.after(date2));
		System.out.println("date.compareTo(date2) ="+date.compareTo(date2));
		
		System.out.println("‐‐‐‐‐‐Date和String之间互转‐‐‐‐‐‐‐‐‐‐‐‐");

		System.out.println("SimpleDateFormat 进行日期格式化");
		SimpleDateFormat dateFormat1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String strDate=dateFormat1.format(date);
		System.out.println("strDate = " + strDate);
		
		Date date3;
		try {
			//用parse 时要注意,被转换时间字符串格式必须和转换器声明的格式一致
			date3=dateFormat1.parse(strDate);
			System.out.println(date3);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

运行效果:
在这里插入图片描述
Calendar类
由于Date类过于古老,许多的构造器和方法都已经过时。Java推荐使用Calendar来完 成时间计算等操作。
示例代码:

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));
		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.APRIL);//使用英文的十二个月的单词
		cal.set(Calendar.MONTH, 4-1);//月份要减一才是对应的月份
		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方法  根据日历的规则,为给定的日历字段添加或减去指定的时间量
		cal.add(Calendar.MONTH,5);//+5个月
		System.out.println(cal.getTime());
		cal.add(Calendar.MONTH,-5);//-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);//-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.add(Calendar.MONTH, 9);
		 System.out.println(calRoll.getTime());
		 
		 //Calendar和Date的相互转换
		 System.out.println("Date和Calendar 的相互转换");
		 //Calendar---> Date
		 Date date=cal.getTime();
		 System.out.println(date);
		 
		 //Date---> Calendar
		 Calendar cal2=Calendar.getInstance();
		 cal2.setTime(date);
		 System.out.println(cal2.getTime());
		 
	}

运行结果:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值