• Java基础18-日期类和日历类


    一、java.util.Date日期类

    private Integer age;//员工年龄
    private String hireDate;//入职时间
    在系统中存储的是员工的基本信息,包括了员工的年龄,此时使用Integer/int类型来表示年龄是不合理的
    难道每年都得修改系统中员工的年龄递增1?

    1.类 Date 表示特定的瞬间,精确到毫秒。

    Date类中有一个方法可以返回自1970年以来到现在的毫秒值,这就是getTime方法,是一个long类型的值

    Date类中有很多过时的方法,但这些过时的方法中也有比较好用的,比如下边这个

    这个表示形式比较符合我们中国人的习惯

    二、DateFormat格式化日期

    格式化: Date类型对象--->String类型
    解析:String类型时间---->Object类型

    1.格式化日期类中的方法

    2.格式化:Date类型对象--->String类型

    3.解析:String类型时间---->Object类型

     4.自定义日期模式

    三、日历类

    1.常用方法

    我们创建一个日历对象

    发现输出了一大堆不是很好看懂的内容,这可怎么办呢?

    2.这就要用到get方法,获取时间字段值

     

     3.如何添加和设置日期呢?

    这就用到add和set方法

    100天后是几月几号呢?

     

    4.日历类也可以转化为日期

    注意:Calendar类中,月份的表示是以0-11代表1-12月。

     案例1:

    //计算起止时间
    //查询最近一周的信息,如何表示最近这一周

    Date current =new Date();
            //把当前时间作为日历的时间
            Calendar c3=Calendar.getInstance();
            c3.setTime(current);
            //把日增加1天,再把时分秒设置为0
            c3.add(Calendar.DAY_OF_MONTH, 1);
            c3.set(Calendar.HOUR_OF_DAY, 0);//时设置成0
            c3.set(Calendar.MINUTE, 0);//分设置成0
            c3.set(Calendar.SECOND, 0);//秒设置成0
            Date endTime=c3.getTime();
            c3.add(Calendar.DAY_OF_MONTH, -7);
            Date beginTime=c3.getTime();
            System.out.println("开始时间="+beginTime.toLocaleString());
            System.out.println("结束时间="+endTime.toLocaleString());

    案例2:获取自己出生到现在的天数

    public static void main(String[] args){
        Calendar my = Calendar.getInstance();
        Calendar c = Calendar.getInstance();
        //设置出生年月日 1995-05-10
        my.set(Calendar.YEAR, 1995);
        my.set(Calendar.MONTH, 4);
        my.set(Calendar.DATE, 10);
        //获取时间中的天数
        int day = c.get(Calendar.DATE);
        int myDay = my.get(Calendar.DATE);
        System.out.println(day - myDay);
    }

    案例3:求出距离某年某月某日还有多少天

    public static void main(String[] args){
        Calendar my = Calendar.getInstance();
        Calendar c = Calendar.getInstance();
        //设置年月日 2020-01-01
        my.set(Calendar.YEAR, 2020);
        my.set(Calendar.MONTH, 0);
        my.set(Calendar.DATE, 1);
        //获取时间中的天数
        int day = c.get(Calendar.DATE);
        int myDay = my.get(Calendar.DATE);
        System.out.println(myDay - day);
    }

    public static void main(String[] args){

    Calendar my = Calendar.getInstance();

    Calendar c = Calendar.getInstance();

    //设置年月日 2020-01-01

    my.set(Calendar.YEAR, 2020);

    my.set(Calendar.MONTH, 0);

    my.set(Calendar.DATE, 1);

    //获取时间中的天数

    int day = c.get(Calendar.DATE);

    int myDay = my.get(Calendar.DATE);

    System.out.println(myDay - day);

    }

  • 相关阅读:
    20155307《网络对抗》网络欺诈技术防范
    20155307《网络对抗》信息搜集与漏洞扫描
    20155307《网络对抗》MSF基础应用
    20155307《网络对抗》恶意代码分析
    20155307《网络对抗》免杀原理与实践
    预习非数值数据的编码方式
    预习原码补码
    C语言ll作业01
    C语言寒假大作战04
    C语言寒假大作战03
  • 原文地址:https://www.cnblogs.com/LuckyGJX/p/9054668.html
Copyright © 2020-2023  润新知