Java 日期时间

Java 日期时间

Java.util 包提供了 Date 类来封装当前的日期和时间.Date 类提供俩个构造函数来实例化Data对象
第一个构造函数使用当前日期和时间来初始化对象

Data()

第二函数接受一个参数

Date(long millisec)
序号方法和描述
1boolean after(Date date) 若当调用此方法的Date对象在指定日期之后返回true,否则返回false。
2boolean before(Date date) 若当调用此方法的Date对象在指定日期之前返回true,否则返回false。
3Object clone( ) 返回此对象的副本。
4int compareTo(Date date) 比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。
5int compareTo(Object obj) 若obj是Date类型则操作等同于compareTo(Date) 。否则它抛出ClassCastException。
6boolean equals(Object date) 当调用此方法的Date对象和指定日期相等时候返回true,否则返回false。
7long getTime( ) 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
8int hashCode( ) 返回此对象的哈希码值。
9void setTime(long time) 用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期。
10String toString( ) 把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。

以上表格摘自菜鸟教程
获取当前日期时间
实例

    @Test
    public void mian16() {
        /*初始化*/
        Date date = new Date();
        /*使用toString来显示时间*/
        System.out.println(date);
    }

输出结果为:
在这里插入图片描述
使用 SimpleDateFormat 格式化日期
实例

    @Test
    public void mian17() {
        /*初始化*/
        Date date = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        /* MM 是月份,mm 是分;HH 是 24 小时制,而 hh 是 12 小时制*/
        System.out.println("时间为:" + simpleDateFormat.format(date));
    }

解析字符串为时间
实例

 @Test
    public void main18() throws ParseException {
        /*设置格式*/
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        /*定义时间字符串*/
        String time = "2021-11-11";
        /*设置时间字符串*/
        String input = time.length() == 0 ? "null" : time;
        Date date;
        /*使用parse方法将字符串转化为时间*/
        date = simpleDateFormat.parse(input);
        System.out.println(date);
    }

输出结果为:在这里插入图片描述
Calendar类
我们现在已经能够格式化并创建一个日期对象了,但是在开发中我们如何才能设置和获取日期数据的特定部分呢,比如具体说小时,日,或者分钟? 我们又如何在日期的这些部分加上或者减去值呢? 答案是使用Calendar 类。
创建一个代表系统当前日期的Calendar对象

    @Test
    public void mian19() {
        /*创建一个代表系统当前日期的Calendar对象*/
        Calendar instance = Calendar.getInstance();
        /*创建一个指定日期的Calendar对象*/
        instance.set(1997,12,24);
        System.out.println(instance);
    }

运行结果如下:

//代码截取片段
YEAR=1997,MONTH=12,WEEK_OF_YEAR=46,WEEK_OF_MONTH=2,DAY_OF_MONTH=24

Add设置

//把c1对象的日期加上10,也就是c1也就表示为10天后的日期
Calendar c1 = Calendar.getInstance();
c1.add(Calendar.DATE, 10);

Calendar类对象字段类型

常量描述
Calendar.YEAR年份
Calendar.MONTH月份
Calendar.DATE日期
Calendar.DAY_OF_MONTH日期,和上面的字段意义完全相同
Calendar.HOUR12小时制的小时
Calendar.HOUR_OF_DAY24小时制的小时
Calendar.MINUTE分钟
Calendar.SECOND
Calendar.DAY_OF_WEEK星期几
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敏姐儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值