Java Date类与Calendar类 实例详解

本文详细介绍了Java中Date和Calendar类的使用方法,包括创建日期对象、获取年月日时分秒、比较日期、日期加减操作及日期与时间戳的相互转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Date类:代表时间的类

import java.util.Date;

public class DateTest {

	public static void main(String[] args) {
		Date now1 = new Date();
		System.out.println("now1:" + now1);

		// 实际年份需要减去1900,月份需要减去1
		Date now2 = new Date(2018 - 1900, 12 - 1, 17);
		System.out.println("now2: " + now2);// 显示2018年12月17日

		int year = now1.getYear() + 1900;
		System.out.print("年份:" + year + " ");
		int month = now1.getMonth() + 1;
		System.out.print("月份:" + month + " ");
		int date = now1.getDate();
		System.out.print("日期:" + date + " ");
		int hour = now1.getHours();
		System.out.print("小时:" + hour + " ");
		int minute = now1.getMinutes();
		System.out.print("分钟:" + minute + " ");
		int second = now1.getSeconds();
		System.out.print("秒:" + second + " ");
		int day = now1.getDay();
		System.out.print("星期:" + day + " ");
		System.out.println();

		// Date对象和相对时间的转换
		Date date2 = new Date();
		long time = date2.getTime();// 等价于long time2=System.currentTimeMillis();
		System.out.println(time);
		Date date3 = new Date(time);
		System.out.println(date3);

		// Date对象之间的比较,date2<date3返回负数,大于返回正数,相等,返回0
		System.out.println(date2.compareTo(date3));

	}

}

        程序运行结果:

now1:Mon Dec 17 16:47:10 GMT+08:00 2018
now2: Mon Dec 17 00:00:00 GMT+08:00 2018
年份:2018 月份:12 日期:17 小时:16 分钟:47 秒:10 星期:1 
1545036430848
Mon Dec 17 16:47:10 GMT+08:00 2018
0

二、Calendar类

import java.util.Calendar;

public class CalendarTest {

	public static void main(String[] args) {
		Calendar c = Calendar.getInstance();
		// c.set(2018, 12-1, 17);//实际表示2018年12月17日,年份直接书写,月份减1。

		int year = c.get(c.YEAR);
		int month = c.get(c.MONTH) + 1;
		int date = c.get(c.DATE);
		int hour = c.get(c.HOUR);
		int minute = c.get(c.MINUTE);
		int second = c.get(c.SECOND);
		int day = c.get(c.DAY_OF_WEEK)-1;
		System.out.print("年份:" + year + " ");
		System.out.print("月份:" + month + " ");
		System.out.print("日期:" + date + " ");
		System.out.print("小时:" + hour + " ");
		System.out.print("分钟:" + minute + " ");
		System.out.print("秒:" + second + " ");
		System.out.print("星期:" + day + " ");
		System.out.println();

		// add方法:计算100天以后的日期
		c.add(Calendar.DATE, 100);
		System.out.println("100天后:" + c.get(c.YEAR) + "年" + (c.get(c.MONTH) + 1) + "月" + c.get(c.DATE) + "日");

		// after方法:public boolean after(Object when)判断当前时间是否在when对象的后面。
		Calendar c2 = Calendar.getInstance();
		c2.set(2018, 11 - 1, 22);
		Calendar c3 = Calendar.getInstance();
		c3.set(2018, 12 - 1, 17);
		boolean b = c3.after(c2);
		System.out.println("2018年12月17日是否在2018年11月22日之后:" + b);

		// Calendar对象和相对时间的转换
		Calendar c4 = Calendar.getInstance();
		long time = c4.getTimeInMillis();
		Calendar c5 = Calendar.getInstance();
		c5.setTimeInMillis(time);

	}

}

        程序运行结果:

年份:2018 月份:12 日期:17 小时:4 分钟:48 秒:38 星期:1 
100天后:2019年3月27日
2018年12月17日是否在2018年11月22日之后:true

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值