java的时间类的SimpleDateFormat类,Date类

SimpleDateFormat类

时间格式英文代表
  • yyyy —>代表年份
  • MM ---->代表月份
  • dd —> 代表日
  • HH ----> 代表小时
  • mm —> 代表分
  • ss —> 代表秒
定义和构造方法
  • 说明:SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。
  • 两个构造方法:
    • 无参构造方法:构造一个SimpleDateFormat,使用默认模式和日期格式。 默认格式:21-9-9 下午2:54,表示21年9月9日,下午2:54
    • 有参构造方法:构造一个SimpleDateFormat使用给定的模式和默认的日期格式。public SimpleDateFormat(String pattern)。pattern就是你要传入的日期格式化模板,比如格式化为yyyy年MM月dd日 HH:mm:ss
SimpleDateFormat类的常用方法
  • 将一个指定格式的字符串String格式化为Date类型。
    • public Date parse(String source):从给定字符串的开始解析文本以生成日期
  • 将一个Date类型格式化为指定格式化的String类型
    • public final String format(Date date):将日期格式化成日期/时间字符串。Date类型的日期格式是Thu Sep 01 09:11:00 GMT+08:00 2022
  • 代码
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Time {
    public static void main(String[] args) throws InterruptedException, ParseException {
        Date date = new Date();
        //1.将date类型转换指定格式的String输出
        SimpleDateFormat sf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        String str =  sf.format(date);
        System.out.println(str);
        //2.将指定字符串格式的日期转换为Date类型
        String day = "2022年的9月1日,我们在9点11分相遇,";
        SimpleDateFormat sf2 = new SimpleDateFormat("yyyy年的MM月dd日,我们在hh点mm分相遇");
        Date date2 = sf2.parse(day);
        System.out.println(date2);//Thu Sep 01 09:11:00 GMT+08:00 2022
    }
}

  • 结果:
    在这里插入图片描述

Date类

定义和构造方法
  • 定义:此处的Date是指java.util包下的Date类,而不是java.sql包下的Date类),Date对象既包含日期,也包含时间。用于获取当前时间。
  • 构造方法;
    • 无参构造:public Date(),分配一个 Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒
    • 有参构造:public Date(long date) ,分配一个 Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数,即 1970 年 1 月 1 日 00:00:00 GMT 之后的时间毫秒。
import java.util.Date;
public class Time {
    public static void main(String[] args){\
        //无参
        Date d1 = new Date();
        System.out.println(d1);
        //有参
        long date = 1000*60*60;
        Date d2 = new Date(date);
        System.out.println(d2);
    }
}
  • 结果
    在这里插入图片描述
常用方法
  • boolean after(Date when):测试该日期是否在指定日期when之后。
  • boolean before(Date when):测试该日期是否在指定日期when之前。
  • int compareTo(Date anotherDate):比较两个日期的大小,后面的时间大于前面的时间时返回-1,否则返回1
  • boolean equals(Object obj):当两个时间表示同一时刻时返回true。
  • long getTime():返回该时间对应的long型整数,即从GMT 1970-01-01 00:00:00 到该Date对象之间的时间差,以毫秒作为计时单位。
  • void setTime(long time):设置该Date对象的时间。设置此 Date 对象以表示一个时间点,即 1970 年 1 月 1 日 00:00:00 GMT 之后的时间毫秒。
  • 代码

import java.util.Date;

public class Time {
    public static void main(String[] args){
        //获得当前的Date时间对象
        Date d = new Date();
        //获取现在到1970年1月1日 00:00:00的毫秒值
        long time = System.currentTimeMillis();
        long time2 = d.getTime();
        System.out.println(time);
        System.out.println(time2);
        //在1970年1月1日的00:00:00为基础,过了1000毫秒
        d.setTime(1000);
        System.out.println(d);
    }
}

  • 结果
    在这里插入图片描述
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值