Java工具类之日期相关类Date

拓展:
1,所属的包:Java.lang不需要导入
2,不需要创建对象,通过类名就可以访问元素
3,有三个属性及若干方法
三个属性:in out error
几个方法:gc()告诉垃圾回收器回收对象的
exit(int status)参数为0 表示系统中断
currentTimeMillis();返回的是当前时间的毫秒值的表现形式,返回值是long
//返回当前系统时间的毫秒值,从计算机元年开始到今天的毫秒值的差
//计算机元年是:1970年1月1号0点0分0秒;在中国境内应该是08点0分0秒
long time = System.currentTimeMillis();
//通常测算循环的执行效率

Date类
1,在Java.util包下(通常用这个包下)在java.sql包下也有这个类。
2,默认继承Object类
3,通常使用无参数构造方法或者是带long参数的构造方法

		Date date1 = new Date(1232432345435L);	
		//按照参数创建对象
    	Date date2 = new Date();
    	//默认的是当前时间构建的Date对象
   		//System.out.println(date);
   		//输出的效果重写了toString()
   		//输出的时间格式为格林威治时间格式
   		//输出结果Tue Jan 20 14:19:05 CST 2009
		//输出结果Wed Feb 05 18:25:01 CST 2020
		boolean before = date1.before(date2);
		//比较date1是不是在date2之前。
        boolean after = date1.after(date2);
        //比较date1是否在date2之后。
        System.out.println(before);
        System.out.println(after);
		//判断date是否在date1之前
        System.out.println(date.before(date1));
        //判断date是否在date1之后
        System.out.println(date.after(date1));

Date类中的常用方法:
date1.before(date2) 判断date1是否在date2之前
date2.after(date2) 判断date1是否在date2之后

Date类中应该有一个time的属性
setTime()//设置date1的时间 date1.setTime(1231092302938L);//将时间设置为参数的时间
getTime()//获得date1的时间,返回值是long类型的 date1.getTime());//setTime设置完成以后getTime可以获取时间
compareTo()//按照索引顺序比较,返回值是int类型,
date1.compareTo(date2),返回值出现-1 表示调用的在前,参数在后,如果出现1 表示调用的在后,参数在前。
Date反映出来的时毫秒的形式,格林威治的时间在直观上是不符合我们的时间表示形式的。

有一个类可以用来处理日期的 --DateFormat类
1,所在包java.text包
2,此类是抽象类,不能创建对象,需要通过子类来使用
3,SimpleDateFormat类是DateFormat的子类
4,调用带String参数的构造方法创建format对象

	Date date2 = new Date(1575355289254L);//15分钟之前的时间	
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
    String formatDate = sdf.format(date2);//通过sdf对象调用format方法将给定的时间格式化为sdf描述的样子
    System.out.println(formatDate);

Calendar类:日历类
public abstract class Calendar implements Serializable, Cloneable, Comparable
1.1版本之后出现的,1.0的时候没有人考虑时区的问题。
1,所属包 java.util
2,默认继承Object
3,抽象类,不能直接创建对象
本身有构造方法,但是构造方法都是protected的,只能同包或本类,或者通过子类访问。
通常调用getInstance()来创建对象

Calendar cal = Calendar.getInstance();可以构建一个系统当前时间的Calendar对象
System.out.println(cal)得到的结果是:重写了Object类的toString()方法

java.util.GregorianCalendar[time=1575358338037,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id=“Asia/Shanghai”,offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2019,MONTH=11,WEEK_OF_YEAR=49,WEEK_OF_MONTH=1,DAY_OF_MONTH=3,DAY_OF_YEAR=337,DAY_OF_WEEK=3,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=3,HOUR_OF_DAY=15,MINUTE=32,SECOND=18,MILLISECOND=37,ZONE_OFFSET=28800000,DST_OFFSET=0]

常用方法:
after(Object obj)//判断对象时间是不是在参数时间之后
before(Object obj)判断对象时间是否在参数时间之前
setTime(Date date),返回值是Date类型的 设置时间为多少。
getTime(),返回值是Date类型的 获取时间
getTimeInMillis()–time;获取毫秒值。
getTimeZone–获取时区
Calendar类的好处是可以操作Date当中的某一个部分
Calendar里面包含一个date属性,可以操作date的某一个局部信息

set方法:
cal.set(Calendar.YEAR,2020); 可以更改时间的设置
get方法:

 int year = cal.get(Calendar.YEAR);
 int month = cal.get(Calendar.MONTH);//MONTH是从0开始的
 int day = cal.get(Calendar.DAY_OF_MONTH);
 System.out.println(year+"-"+month+"-"+day);

TimeZone类:
1,java.tuil包,通常我们可以通过Calendar对象.getTimeZone()方法,获取时区操作对象
2,也可以直接通过TimeZone.getDefault()获取
3,常用的方法:
tz.getID----获取时区的ID号
tz.getDisplayName() —获取描述ID信息的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

86822

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

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

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

打赏作者

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

抵扣说明:

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

余额充值