日期时间


Date类

Date类的对象在Java中代表的是当前所在系统的此刻日期时间。

Date的构造器

方法名称 说明
public Date() 建一个Date对象,代表的是系统当前此刻日期时间。

Date的常用方法

方法名称 说明
public long getTime() 获取时间对象的毫秒值

Date 类记录时间的2种形式

形式1:日期对象

// 1、创建一个日期对象代表了:当前系统的此刻日期时间对象
Date d = new Date();
System.out.println(d);

形式2:时间毫秒值指的是从1970年1月1日 00:00:00走到此刻的总的毫秒数,应该是很大的

// 2、获取当前时间毫秒值
long time = d.getTime();
System.out.println(time);

案例:计算时间

请计算出当前时间往后走1小时121秒之后的时间是多少。

public class DateDemo1 {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println("当前时间" + date);
        long time = date.getTime();
        time += (60 * 60 + 121) * 1000;
        date.setTime(time);
        System.out.println("经过一小时121秒后的时间" + date);
    }
}

注意事项

  1. 日期对象如何创建,如何获取时间毫秒值?
    Date date = new Date();
    Long time = date.getTime();
  2. 时间毫秒值怎么恢复成日期对象
    Date d = new Date(time);
    d.setTime(time);

SimpleDateFormat类

SimpleDateFormat 类作用

  • 可以对Date对象或时间毫秒值格式化成我们喜欢的时间形式。
  • 也可以把字符串的时间形式解析成日期对象。

SimpleDateFormat的构造器

构造器 说明
public SimpleDateFormat() 构造一个SimpleDateFormat,使用默认格式
public SimpleDateFormat(String pattern) 构造一个SimpleDateFormat,使用指定的格式

SimpleDateFormat的格式化方法

格式化方法 说明
public final String format(Date date) 将日期格式化成日期/时间字符串
public final String format(Object time) 将时间毫秒值式化成日期/时间字符串

SimpleDateFormat解析字符串时间成为日期对象

解析方法 说明
public Date parse(String source) 从给定字符串的开始解析文本以生成日期

案例:格式化时间

请计算出 2021年08月06日11点11分11秒,往后走2天14小时49分06秒后的时间是多少

public class SimpleDateFormatDemo1 {
    public static void main(String[] args) throws ParseException {
        // 目标:学会使用SimpLeDateFormat解析字符串时间成为日期对象。
        // 有一个时间 2021年08月06日 11:11:11 往后 2天 14小时 49分 06秒后的时间是多少。
        // 1、把字符串时间拿到程序中来
        String datestr = "2021年08月06日 11:11:11";
        // 2、把字符串时间解析成日期对象(形式必须与被解析时间的形式完全一样,否则运行时解析报错!)
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        Date d = sdf.parse(datestr);
        // 3、往后走2天14小时 49分 06秒
        long time = d.getTime() + (2L * 24 * 60 * 60 + 14 * 60 * 60 + 49 * 60 + 6) * 1000;
        // 4、格式化这个时间毫秒值就是结果
        System.out.println(sdf.format(time));
    }
}

Calendar概述

  • Calendar代表了系统此刻日期对应的日历对象。
  • Calendar是一个抽象类,不能直接创建对象。

Calendar常用方法

方法名 说明
public int get(int field) 取日期中的某个字段信息。
public void set(int field,int value) 修改日历的某个字段信息。
public void add(int field,int amount) 为某个字段增加/减少指定的值
public final Date getTime() 拿到此刻日期对象。
public long getTimeInMillis() 拿到此刻时间毫秒值

注意

Calendar如何去得到日历对象的?

public static Calendar getInstance():获取当前日历对象

注意:calendar是可变日期对象,一旦修改后其对象本身表示的时间将产生变化。


文章作者: 泷少
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 泷少 !
评论
  目录