码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-05-18 11:22:10      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:[]   set   年月日   ffffff   src   特定   ima   red   current   

一、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);

}

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

标签:[]   set   年月日   ffffff   src   特定   ima   red   current   

原文地址:https://www.cnblogs.com/LuckyGJX/p/9054668.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!