zoukankan      html  css  js  c++  java
  • java Dated Dateformat Calendar

    Date类概述

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

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

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

    1 long d =System.currentTimeMillis();   system.currentTimeMillis()获取当前的毫秒值
    2         System.out.println(d);

    构造函数

    1     Date d1 =new Date(d);
    2         System.out.println(d1); 

    Date类常用方法

    1 long d =System.currentTimeMillis();   获取当前的毫秒数给d,用getTime方法转成毫秒数
    2 Date d1 =new Date();
    3 System.out.println(d1.getTime());

    DateFormat类

    DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。

     日期格式

     构造方法

    DateFormat类方法

     

    1     SimpleDateFormat sim =new SimpleDateFormat("yyyy-MM-d HH:mm:ss");  创建日期格式类型
    2         Date d =new Date();                          获取当前日期
    3         String str =sim.format(d);                      把当前日期传进来,调用format方法,并赋值给str
    4         System.out.println(str);                        

    l DateFormat类的作用:即可以将一个Date对象转换为一个符合指定格式的字符串,也可以将一个符合指定格式的字符串转为一个Date对象。

    指定格式的具体规则我们可参照SimpleDateFormat类的说明,这里做简单介绍,规则是在一个字符串中,会将以下字母替换成对应时间组成部分,剩余内容原样输出:

    l 当出现y时,会将y替换成年

    l 当出现M时,会将M替换成月

    l 当出现d时,会将d替换成日

    l 当出现H时,会将H替换成时

    l 当出现m时,会将m替换成分

    l 当出现s时,会将s替换成秒

     DateFormat类常用方法

    1 SimpleDateFormat sim =new SimpleDateFormat("yyyy-MM-dd");
    2         String  d ="2018-05-25";    创建字符串类型的日期格式
    3         Date dd =sim.parse(d);    调用parse方法传值字符串赋值给dd
    4         System.out.println(dd);

    l format方法,用来将Date对象转换成String

    l parse方法,用来将String转换成Date(转换时,该String要符合指定格式,否则不能转换)。

     Calendar类

    Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。

    Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,将语言敏感内容处理好,再返回子类对象

      Calendar类静态方法

     

    1 Calendar c =Calendar.getInstance();   
    2         System.out.println(c);    返回当前日历

    Calenar常用方法

     YEAR 

     MONTH 月,从0开始算起,最大11;0代表1月,11代表12月。

     DATE 天

     HOUR 时

     MINUTE分

    SECOND秒

    1 Calendar c =Calendar.getInstance(); 获取日历,用get方法获取月份
    2 System.out.println(c.get(Calendar.YEAR));
    1 Calendar c =Calendar.getInstance();       
    2 c.add(Calendar.YEAR, 3);           //add偏移,向后3年。 打印输出2021年
    3 System.out.println(c.get(Calendar.YEAR));
    1 Calendar c =Calendar.getInstance();    
    2 c.set(Calendar.YEAR, 2022);      //可以一个一个属性的改,也可以一次改好多个属性
    3 c.set(2020, 7, 7, 7, 7, 7);
    4 System.out.println(c.get(Calendar.YEAR)); 
    1 Calendar c =Calendar.getInstance();   将日历对象转成日期对象
    2 System.out.println(c.getTime());

    1.1 注意事项

    西方星期的开始为周日,中国为周一。

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

    日期是有大小关系的,时间靠后,时间越大。

     小练习

     求出自己已经出生多少天

    1 long a=System.currentTimeMillis();   //获取当前的毫秒数
    2 Calendar ca =Calendar.getInstance();  //获取当前的日历,然后改成出生日期
    3 ca.set(1996, 8,20);
    4 Date b =ca.getTime();           //将这个日历转成日期格式,再转成毫秒数
    5 long c =b.getTime(); 
    6 long d =(a-c)/24/60/60/1000;       //毫秒数相减,当前的毫秒数前去出生的
    7 System.out.println(d);*/

     

  • 相关阅读:
    UnitTest测试套件及运行器
    DDT实现数据驱动
    MySQL练习题部分答案(未完待续)
    day58自我回顾版
    Linux 下安装pip
    wget用法汇总
    Linux基础操作整理
    pip安装django失败
    利用"SQL"语句自动生成序号的两种方式
    Python2.*与Python3.*共存问题
  • 原文地址:https://www.cnblogs.com/wangrongchen/p/9090962.html
Copyright © 2011-2022 走看看