【Java常用类】Date类

Date类

Date类表示系统特定的时间戳,乐意精确到毫秒。Date对象表示时间的默认顺序是星期、月、日、小时、分、秒、年。

  • Date类有两个构造方法:

    public Date():分配一个Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒

    public Date(long date):分配一个Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数

    标准基准时间:

    0时区:1970年1月1日00:00:00 GMT 格林威治标准时间

    东8区:1970年1月1日08:00:00 CST 中国标准时间

    package com.common.date;
    import java.util.Date;
    public class DateDemo01 {
        public static void main(String[] args) {
            //public Date(),分配一个Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒
            Date d1=new Date();
            System.out.println(d1);
            //public Date(long date),分配一个Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数
            long date=1000*60*60;//一小时
            Date d2=new Date(date);
            System.out.println(d2);
        }
    }
    
  • Date常用方法

    public long getTime():获取的是日期对象从1970年1月1日00:00:00到现在的毫秒值

    public void setTime(long time):设置时间给的是毫秒值

    package com.common.date;
    import java.util.Date;
    public class DateDemo02 {
        public static void main(String[] args) {
            Date d = new Date();
            System.out.println(d.getTime());
            long time=1000*60*60;
            //long time=System.currentTimeMillis();
            d.setTime(time);
            System.out.println(d);
        }
    }
    

    long time=System.currentTimeMillis();获得系统当前的时间
    在这里插入图片描述

  • SimpleDateFormat类

    SimpleDateFormat类是DateFormat的子类,是日期格式化类,专门用来格式化和解析日期的。格式化指的是将存储日期的类转化为字符串记录的日期形式,这里主要指Date类转化为String类。解析是格式化的逆过程,指的是将表示日期的字符串转化为记载日期的类。

    常用的模式字母对应关系如下:

    • y                 年
    • M                月
    • d                 日
    • H                 时
    • m                 分
    • s                  秒
  • SimpleDateFormat类的构造方法

    public SimpleDateFormat():构造一个SimpleDateFormat使用默认模式和日期格式

    public SimpleDateFormat(String pattern):构造一个SimpleDateFormat使用给定的模式和默认的日期格式

  • SimpleDateFormat格式化和解析日期

    格式化:从Date到String
    public final String format(Date date):将日期格式化成日期/时间字符串
    解析:从String到Date
    public Date parse(String source):从给定字符串开始解析文本以生成日期

    package com.common.date;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    public class DateDemo03 {
        public static void main(String[] args) throws ParseException {
            //格式化:从Date到String
            Date d = new Date();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
            String s = sdf.format(d);
            System.out.println(s);
            System.out.println("==============================");
            //解析:从String到Date
            String s1="2023-5-15 23:23:15";
            SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date d1 = sdf1.parse(s1);
            System.out.println(d1);
        }
    }
    
  • 日期工具类

    工具类构造方法私有,成员方法为静态方法

    • 把日期转为指定格式的字符串
      返回值类型:String
      参数:Date date,String format
    • 把字符串解析为指定格式的日期
      返回值类型:Date
      参数:String s,String format
    package com.common.date;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    public class DateUtils {
        private DateUtils(){
    
        }
        public static String dateToString(Date date, String format){
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            String s = sdf.format(date);
            return s;
        }
        public static Date stringToDate(String s,String format) throws ParseException {
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            Date d = sdf.parse(s);
            return d;
        }
    }
    

    测试类:

    package com.common.date;
    import java.text.ParseException;
    import java.util.Date;
    public class DateUtilsTest {
        public static void main(String[] args) throws ParseException {
            //创建日期对象
            Date d = new Date();
            String s1 = DateUtils.dateToString(d, "yyyy年MM月dd日 HH:mm:ss");
            System.out.println(s1);
            String s2 = DateUtils.dateToString(d, "yyyy年MM月dd日");
            System.out.println(s2);
            String s3 = DateUtils.dateToString(d, "HH:mm:ss");
            System.out.println(s3);
            System.out.println("===========================");
            String s="2023-05-16 23:13:12";
            Date d1 = DateUtils.stringToDate(s, "yyyy-MM-dd HH:mm:ss");
            System.out.println(d1);
        }
    }
    

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值