java三个时间类常用法

1.System.currentTimeMillis();
    获取当前时间戳
    System的获取时间戳的方法,只能获取不能进行其他的操作,简单的毫秒计算可以使用

2.Date()构建方法

public Date(); 创建一个Date对象,代表当前系统时间

public Date(long time); 创建一个Date对象,代表距离标准时间time毫秒后的那个时间
标准时间(英国): 1970-01-01 00:00:00
标准时间(中国): 1970-01-01 08:00:00

 //1.无参构造
Date d1 = new Date();
System.out.println(d1);
//2.有参构造
Date d2 = new Date(1000L);
System.out.println(d2);

Tue Jun 02 10:55:05 CST 2020
Thu Jan 01 08:00:01 CST 1970

常用方法

public long getTime(); 获取当前Date对象距离标准时间的毫秒值
public void setTime(long time);修改当前Date对象距离标准时间的毫秒值  

Date d=new Date(); 有多种操作 比如getTime(), //创建日期对象,把当前的毫秒值转成日期对象 Date date = new Date(1607616000000L); System.out.println(date); //打印结果:Fri Dec 11 00:00:00 CST 2020 在date中的gettime是将现有的时间转换成时间戳,


3.SimpleDateFormat

作用: 将Date对象和String对象之间进行转换的。

构造方法
a.DateFormat一个抽象类,我们使用的他的子类SimpleDateFormat
b.SimpleDateFormat的构造方法:
    public SimpleDateFormat(String 模式/格式);
    在模式中我们需要记住: y年 M月 d日 H时 m分 s秒  

常用方法

public String format(Date d); 将日期格式化成一个字符串
public Date parse(String time); 将字符串解析为一个日期


SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd"); Date d=new Date(); System.out.println(s.format(d)); String s2="1997-8-11"; Date d3=s.parse(s2); System.out.println(d3.getTime());

4.Calendar

 作用: Calendar类也是代表日期,不仅可以展示时间,也可以计算时间,但是它是一个抽象类!

创建对象
Calendar类自己无法创建对象,但是我们可以通过其子类来使用
a.直接去创建其子类GregorianCalendar的对象[不推荐这种]
b.通过Calendar类的静态方法,获取其子类的对象[推荐的方式]
public static Calendar getInstance(); 该静态方法返回的就是Calendar的子类对象 Date getTime() 返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象

    Calendar c = Calendar.getInstance();
    此方法获得一个时间日历
 
    同样此时间函数有gettime方法,返回值为date对象
    这样三个类之间有了联系,
    比如想获得某个时间段的时间戳时:先使用Calendar c = Calendar.getInstance(),然后使用c.gettime,获得一个date对象,现在此事件对象是一个时间值,然后date。gettime获得时间戳。

    SimpleDateFormat,中间可以穿插此类,来获得想要的结果

常用方法

  public int get(int field); 根据字段的编号,获取日历对象中该字段的值
  我们只需要记住以下几个常量名即可:
  Calendar.YEAR : 年
  Calendar.MONTH :月
  Calendar.DAY_OF_MONTH:月中的日期
  Calendar.HOUR:小时
  Calendar.MINUTE:分钟
  Calendar.SECOND:秒
  Calendar.DAY_OF_WEEK:星期

  public void set(int field,int value);根据字段的编号,修改日历对象中该字段的值
  public void add(int field,int value);根据字段的编号,增加日历对象中该字段的值

  public Date getTime();//可以把当前日历对象,转成日期对象

 




原文地址:https://www.cnblogs.com/xiaozhang666/p/10516371.html