Date

Date类概述

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

毫秒概念:1000毫秒=1秒

毫秒的0点:

System.currentTimeMillis()  返回值long类型参数

用于获取当前日期的毫秒值

时间的原点:公元1970年 一月一日,午夜0:00:00 对应的毫秒值就是0

注意:时间和日期的计算,必须依赖毫秒值

代码实现:

 1     public static void main(String[] args) {
 2         //获取当前时间的毫秒值
 3         //时间原点:1970年一月一日,午夜00:00:00
 4         long time=System.currentTimeMillis();
 5         System.out.println(time);
 6         //创建当前日期对象
 7         Date date=new Date();
 8         //System.out.println(date);
 9         //创建制定毫秒值的日期对象
10         Date d1=new Date(1500000000000000000l);
11         System.out.println(d1);
12         System.out.println(date.getTime());
13     }

Date常用方法:

DateFormat类概述

DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。

日期/时间格式化子类(如 SimpleDateFormat类)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。

 

  构造方法

 

  DateFormat类方法

 

 format是日期转为字符串

代码实现:

    public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss");
        Date d=new Date(1500000000l);
        System.out.println(d);
        //将日期类型对象按照我们指定的格式转换为字符串
        String time=sdf.format(d);
        System.out.println(time);
        //将字符串转换为日期对象
        String t="1991-5-5-23:33:44";
        Date d1=sdf.parse(t);
        System.out.println(d1);
        
    }

 

 

 

 Calendar日历类:

时间信息封装为静态成员变量

静态方法:

 getInstance返回的是一个calendar类

常用方法:

gettime返回的是一个date对象

代码实现:

 

public static void main(String[] args) {
        //获取日历类对象
        Calendar c=Calendar.getInstance();
        c.add(Calendar.DAY_OF_MONTH, 1);
        System.out.println(c.get(Calendar.DAY_OF_MONTH));
        //给指定日历成员变量设置指定的值
        c.set(Calendar.HOUR_OF_DAY, 21);
        //将日历对象转为日期对象
        Date d=c.getTime();
        System.out.println(d);
    }

 练习:

 

public static void main(String[] args) {
        // 求出自己已经出生多少天
        Calendar c=Calendar.getInstance();
        c.set(Calendar.YEAR, 1997);
        c.set(Calendar.MONTH,10);
        c.set(Calendar.DATE,6);
        Date d=c.getTime();
        long birth=d.getTime();
        //获取当前日期的毫秒值
        long now=System.currentTimeMillis();
        long day=(now-birth)/1000/60/60/24;
        System.out.println(day);
    }

基本练习:

 

 1  //Calendar是抽象类,getInstance()返回的是它的子类GregorianCalendar 
 2         Calendar cal = Calendar.getInstance();
 3         int year = cal.get(Calendar.YEAR);
 4         System.out.println("现在的年份为:" + year);
 5         //规定的MONTH为0-11 所以 +1获取真实月份
 6         int month = cal.get(Calendar.MONTH) + 1;
 7         System.out.println("现在的月份为:" + month);
 8         //date表示日期,day表示天数,所以date与day_of_month相同
 9         int date = cal.get(Calendar.DATE);
10         System.out.println("天:" + date);
11         int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
12         System.out.println("天:" + dayOfMonth);
13         //表示本周的第几天,从周日开始计算
14         int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
15         System.out.println("现在是星期:" + dayOfWeek);
16         int dayOfYear = cal.get(Calendar.DAY_OF_YEAR);
17         //表示本年中的第几天
18         System.out.println("本年中的第几天:" + dayOfYear);
19         //12小时制
20         int hour = cal.get(Calendar.HOUR);
21         System.out.println("小时:" + hour);
22         //24小时制
23         int hourOfDay = cal.get(Calendar.HOUR_OF_DAY);
24         System.out.println("小时:" + hourOfDay);
25         int minute = cal.get(Calendar.MINUTE);
26         System.out.println("分钟:" + minute);
27         int second = cal.get(Calendar.SECOND);
28         System.out.println("秒:" + second);
29         int millisecond = cal.get(Calendar.MILLISECOND);
30         System.out.println("毫秒:" + millisecond);
31         int maxDate = cal.getActualMaximum(Calendar.DATE);
32         System.out.println("本月最后一天是:" + maxDate);
33 
34         //修改时间操作 set()add()
35         Calendar calendar = Calendar.getInstance();
36 
37         //当前时间基础上 增加 15;减去 -15
38         calendar.add(Calendar.MINUTE, 15);
39         System.out.println("当前分钟:"+minute+ "--15分钟后:" + calendar.get(Calendar.MINUTE));
40         //修改当前时间
41         calendar.set(Calendar.MINUTE, 30);
42         System.out.println("当前分钟:"+minute+ "--修改后:" + calendar.get(Calendar.MINUTE));

 

posted @ 2018-07-31 10:42  文昭  阅读(555)  评论(0编辑  收藏  举报