java中和时间日期相关的类System,Date,SimpleDateFormat,DateFormat,Calender类的常用方法以及联系(转换)

    java中和时间日期相关的类有不少,之前系统的学习过,但是由于不经常用容易忘记,今天决定带着源码,用相对容易理解的表达,梳理一遍.

 System类

    此类中的currentTimeMillis方法和时间有关,此方法返回的是系统的当前时间相对于1970-1-1 00:00:00(协调世界时)的毫秒值,返回是数据类型是long,具体的看下面的代码:


Date类

    类Date表示特定的瞬间,精确到毫秒。此类中的方法有很多,不过有很多都是过时的方法,所有常用的方法不多.
无参构造Date()
    
创建Date对象并初始化此对象,以表示创建它的系统时间(精确到毫秒)。这个方法底层就是调用的的System.currentTimeMillis方法

有参构造Date(long date)

    分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。说白了就是用一个毫秒值,创建一个相对于1970年1月1日 00:00:00(GMT)的Date对象
方法String toLocaleString()
 
  由于Date类 重写的toString方法对于中国人来说看着不习惯,所以我们在输出Date对象的时候一般使用此方法.

方法void setTiem()
    设置此Date对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后time毫秒的时间点。

    不管date对象之前是表示的什么时间,最后会以最后一次操作为准.这里设置的毫秒值为0,打印出来却是1970-1-1 8:00:00,是因为时区的问题.

    如果设置为负数,就是相对于1970 年 1 月 1 日 00:00:00 GMT 这个时间之前.
方法 long getTime()
    返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

    

DateFormatSimpleDateFormat
    SimpleDateFormat
是继承的DataFormat,他们是java.text包下的类(text包下的大部分类都是用于格式化),DateFormat是一个抽象类,所以我们在使用它的非静态方法的时候一般是使用它的子类对象,也就是SimpleDateFormat类的对象,他们的作用就是格式化和解析日期的具体类.常用的方法有两个,都是非静态的.
方法public String format(Date date)
   
作用:将一个 Date 格式化为日期/时间字符串,其实从上面的例子可以发现,即使使用了Date类过时的toLocalString方法有很多时候也还是不能满足我们的需要,所以就有了format方法,他可以自定义自己的想要的格式来输出Date对象,输出字符串的形式取决于构造SimpleDateFormat对象的时候指定的格式.当然我们在API中也可以看到:

例子:
这个构造方法里面的yyyy-MM-dd 其实可以这样记忆"4个小姨,两个大妹妹和一个小弟弟"
方法public Date parse(String string)
    这里psrse就是解析的意思,方法作用是从给定字符串的开始解析文本,以生成一个日期对象。当然这个格式还是要和构造SimpleDateFormat对象的时候一致.
例子:
Calendar
   
calendar是日历的意思,为操作年月日时提供一些方法.在对日期做加减时或者灵活的获取日期中的某个字段用此类比较合适.他是一个抽象类,有个getInstance方法类获得一个对象.这个类里面还有很多见名知意的属性:

这些属性都是 static final修饰的,每个字段都有具体的常量值,常用的方法有:
方法 int get(int field)
    返回指定日历字段(field)的值.
例子:获得当前年份的值:

获取到当前月份值:

这里需要说明一下,我写这个的时候其实是5月,打印出来的却是4月,是因为1月是值其实是0,这个用到的时候需要注意下.
方法 void set(int field, int value)
    作用:给给定的日历字段(field)赋值
    例子:设置年份的值
    
方法 add(int field, int value)
   
作用:根据日历的规则,为给定的日历字段添加或减去指定的时间量。
    
方法Date getTime()
    返回一个方法调用对象(Calendar对象)的时间值的Date对象,这个方法能够完成CalendarDate的转换
    


    

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Date类: Date类是Java中的一个基础类,它代表了一个日期时间Date类通常用于获取当前日期时间,或者用于存储一个特定的日期时间。它提供了一些方法来获取日期时间的各个部分,如年、月、日、小时、分钟、秒等。 DateFormat类: DateFormat类是Java中用于格式化或解析日期时间的类。它通常用于将Date对象转换为可读的字符串格式,或者从字符串中解析出日期时间DateFormat类提供了一些静态方法,可以设置日期时间的格式,例如日期应显示月、日还是年,是否需要显示时间等。 SimpleDateFormat类: SimpleDateFormat类是DateFormat的一个子类,它提供了一些更方便的方法来格式化和解析日期时间。与DateFormat类相比,SimpleDateFormat类使用起来更简单,更容易使用。它可以接受用户定义的格式字符串,这使得用户可以根据自己的需要自定义日期时间的显示格式。 Calendar类: Calendar类是一个抽象类,用于处理日历相关的任务。它提供了表示特定日期时间的对象,并且允许进行各种日历操作,如添加月份、年份等。Calendar类可以与Date类一起使用,以便获取日期的各个部分或执行日历操作。 这些类的主要用途如下: * Date类:获取和处理日期时间的基本工具。 * DateFormat类和SimpleDateFormat类:用于格式化和解析日期时间的工具。 * Calendar类:用于处理日历相关的任务,例如添加月份、年份等。 在Java中,这些类通常一起使用,以便更方便地处理日期时间。例如,可以使用Date和Calendar类来获取特定日期时间,然后使用DateFormatSimpleDateFormat类将其转换为可读的字符串格式。也可以使用Calendar类进行日历操作,并使用DateDateFormat类将结果存储为Date对象或字符串。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值