• 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));
  • 相关阅读:
    洛谷 P1875 佳佳的魔法药水
    洛谷 P4822 [BJWC2012]冻结
    洛谷 P6175 无向图的最小环问题
    洛谷 P1312 Mayan游戏
    洛谷 P1311 选择客栈
    洛谷 T150024 矩形面积并(扫描线)
    洛谷 P1311 选择客栈
    洛谷 P1514 引水入城
    洛谷 P1310 表达式的值
    求和(团队题目)
  • 原文地址:https://www.cnblogs.com/2734156755z/p/9394579.html
Copyright © 2020-2023  润新知