zoukankan      html  css  js  c++  java
  • Jave中的日期

    Java中的日期

    获取当前时间

     1 Date date=new Date(); 2 System.out.println(date); 3 运行结果:Wed Oct 21 13:27:08 CST 2020 

    日期比较

    1 使用getTime()

    ​ 可以使用getTime()来获得自1970年1月1日午夜十二时起已经过的毫秒数,然后比较两个对象的值。

     1 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     2 
     3 System.out.println("*****************************");
     4         System.out.println(">>日期比较,Long类型,getTime()");
     5         String dateStr1="2020-10-01 00:00:00";
     6         String dateStr2="2020-10-02 00:00:00";
     7 
     8         Long date1=sdf.parse(dateStr1).getTime();
     9         Long date2=sdf.parse(dateStr2).getTime();
    10         System.out.println("date1: "+date1+"  date2: "+date2 );
    11         boolean res=date1>date2;
    12         System.out.println("date1大于date2?"+res);
    13 
    14 运行结果
    15 *****************************
    16 >>日期比较,Long类型,getTime()
    17 date1: 1601481600000  date2: 1601568000000
    18 date1大于date2?false

    2 可以使用before( ),after( ),和equals( )方法

    ​ 可以使用before( ),after( ),和equals( )方法,由于12日在18日前,例如,new Date(99, 2, 12).before(new Date (99, 2, 18))返回值为true。

     1 System.out.println("*****************************");
     2         System.out.println(">>日期比较,Date类型,before() after() equals()");
     3         String dateStr3="2020-10-01 00:00:00";
     4         String dateStr4="2020-10-02 00:00:00";
     5         System.out.println("dateStr3 before dateStr4? "+sdf.parse(dateStr3).before(sdf.parse(dateStr4)));
     6         System.out.println("dateStr3 after dateStr4? "+sdf.parse(dateStr3).after(sdf.parse(dateStr4)));
     7         System.out.println("dateStr3 equals dateStr4? "+sdf.parse(dateStr3).equals(sdf.parse(dateStr4)));
     8 
     9 运行结果
    10 *****************************
    11 >>日期比较,Date类型,before() after() equals()
    12 dateStr3 before dateStr4? true
    13 dateStr3 after dateStr4? false
    14 dateStr3 equals dateStr4? false

    3使用compareTo()方法

    可以使用compareTo()方法,这是由Comparable接口定义,由Date实现。

     1 System.out.println("*****************************");
     2         System.out.println(">>日期比较,Date类型, compareTo()");
     3         String dateStr5="2020-10-03 00:00:00";
     4         String dateStr6="2020-10-02 00:00:00";
     5         System.out.println("dateStr5 compareTo dateStr6: "+sdf.parse(dateStr5).compareTo(sdf.parse(dateStr6)));
     6 
     7 执行结果
     8 *****************************
     9 >>日期比较,Date类型, compareTo()
    10 dateStr5 compareTo dateStr6: 1

    日期格式化 

    使用SimpleDateFormat格式化日期

    Date 、Timestamp 转String

     1 //Date 、Timestamp 转String
     2         System.out.println("*****************************");
     3         System.out.println(">>Date 、Timestamp 转String");
     4         Date date7=new Date();
     5         System.out.println("Date -> String: "+sdf.format(date7));
     6 
     7         String dateStr8="2020-10-02 00:00:00";
     8         Timestamp timestamp=Timestamp.valueOf(dateStr8);
     9         System.out.println("Timestamp -> String: "+sdf.format(timestamp));
    10 
    11 执行结果
    12 *****************************
    13 >>Date 、Timestamp 转String
    14 Date -> String: 2020-10-21 14:28:27
    15 Timestamp -> String: 2020-10-02 00:00:00

    String 转Date 、Timestamp

     1  //String 转 Date 、Timestamp
     2         System.out.println("*****************************");
     3         System.out.println(">>Date 、Timestamp 转String");
     4         String dateStr9="2020-10-02 00:00:00";
     5         System.out.println("String -> Date: "+sdf.parse(dateStr9));
     6         System.out.println("Timestamp -> Date: "+Timestamp.valueOf(dateStr9));
     7 
     8 执行结果
     9 *****************************
    10 >>String 转 Date 、Timestamp
    11 String -> Date: Fri Oct 02 00:00:00 CST 2020
    12 Timestamp -> Date: 2020-10-02 00:00:00.0

    Calendar 

    创建一个代表系统当前日期的Calendar对象  

     创建一个代表系统当前日期的Calendar对象

     1 Calendar c = Calendar.getInstance();//默认是当前日期 

    创建一个指定日期的Calendar对象  

    1 //创建一个代表2009年6月12日的Calendar对象
    2 Calendar c1 = Calendar.getInstance();
    3 c1.set(2009, 6 , 12);

    Calendar类对象字段类型

    常量描述
    Calendar.YEAR 年份
    Calendar.MONTH 月份
    Calendar.DATE 日期
    Calendar.DAY_OF_MONTH 日期,和上面的字段意义完全相同
    Calendar.HOUR 12小时制的小时
    Calendar.HOUR_OF_DAY 24小时制的小时
    Calendar.MINUTE 分钟
    Calendar.SECOND
    Calendar.DAY_OF_WEEK 星期几

    Calendar类对象信息的设置

     Set设置

    1 //Calendar类对象信息的设置:Set设置
    2         System.out.println("*****************************");
    3         System.out.println(">>Set设置");
    4         Calendar c1 = Calendar.getInstance();
    5         //把 c1对象代表的日期设置为10号,其它所有的数值会被重新计算
    6         c1.set(Calendar.DATE,10);
    7         //把c1对象代表的年份设置为2008年,其他的所有数值会被重新计算
    8         c1.set(Calendar.YEAR,2020);

    其他字段的set设置以此类推

    Add设置

    1  //Calendar类对象信息的设置:Add设置
    2         System.out.println("*****************************");
    3         System.out.println(">>Add设置");
    4         Calendar c2 = Calendar.getInstance();
    5         //把c2对象的日期加上10,也就是c1也就表示为10天后的日期,其它所有的数值会被重新计算
    6         c2.add(Calendar.DATE,10);
    7         //把c1对象的月份减去10,也就是c1也就表示为5个月前的日期,其它所有的数值会被重新计算
    8         c2.add(Calendar.MONTH,-5);

    其他字段的add设置以此类推

    Calendar类对象信息的获得

     1 //Calendar类对象信息的获得
     2         System.out.println("*****************************");
     3         System.out.println(">>获取信息");
     4         Calendar c3 = Calendar.getInstance();
     5         // 获得年份
     6         int year = c1.get(Calendar.YEAR);
     7         // 获得月份
     8         int month = c1.get(Calendar.MONTH) + 1;
     9         // 获得日期
    10         int date = c1.get(Calendar.DATE);
    11         // 获得小时
    12         int hour = c1.get(Calendar.HOUR_OF_DAY);
    13         // 获得分钟
    14         int minute = c1.get(Calendar.MINUTE);
    15         // 获得秒
    16         int second = c1.get(Calendar.SECOND);
    17         // 获得星期几(注意(这个与Date类是不同的):1代表星期日、2代表星期1、3代表星期二,以此类推)
    18         int day = c1.get(Calendar.DAY_OF_WEEK);
  • 相关阅读:
    Shell 传递参数
    Shell 变量
    Shell 教程01
    linux yum 命令
    Linux vi/vim
    Linux 磁盘管理
    你应该知道的基础 Git 命令
    Linux 下五个顶级的开源命令行 Shell
    Fedora 23如何安装LAMP服务器
    如何在Fedora或CentOS上使用Samba共享
  • 原文地址:https://www.cnblogs.com/LifeFruit/p/13852264.html
Copyright © 2011-2022 走看看