java.util.Date

Posted maxudong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.util.Date相关的知识,希望对你有一定的参考价值。

class Test {
    public static void main(String[] args) throws ParseException {
    Date date = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    // after方法判断日期是否在日期参数后
    System.out.println(
        "after()方法使用:当前日期" + sdf.format(date) + "是否在2018-01-01后:" + date.after(sdf.parse("2018-01-01")));
    System.out.println(
        "after()方法使用:当前日期" + sdf.format(date) + "是否在2018-03-03后:" + date.after(sdf.parse("2018-03-03")));
    // before()方法判断日期是否在日期参数前
    System.out.println(
        "before()方法使用:当前日期" + sdf.format(date) + "是否在2018-01-01前:" + date.before(sdf.parse("2018-01-01")));
    System.out.println(
        "before()方法使用:当前日期" + sdf.format(date) + "是否在2018-03-03前:" + date.before(sdf.parse("2018-03-03")));
    Date dateClone = (Date) date.clone();// clone()方法克隆一个新的日期对象
    System.out.println("clone()方法:克隆一个新的日期对象:" + sdf.format(dateClone));
    // compareTo()方法用于两个日期的比较,DATE等于DATE
    // 参数时,返回0;早于日期参数,返回小于0的值;晚于日期参数返回大于0的值
    System.out.println("compareTo()方法使用:当前日期与自身相比:" + date.compareTo(date));
    System.out.println("compareTo()方法使用:当前日期" + sdf.format(date) + "与2018-01-01相比:" + date.compareTo(sdf.parse("2018-01-01")));
    System.out.println("compareTo()方法使用:当前日期" + sdf.format(date) + "与2018-03-03相比:" + date.compareTo(sdf.parse("2018-03-03")));
    // getYear()方法返回指定日期是从1900年开始的第几年
    System.out.println("getHours()方法使用:当前日期是从1900年开始的第" + date.getYear() + "年");
    // getMonth()方法返回代表月份的数字,0—11,0代表一月份
    System.out.println("getHours()方法使用:当前日期是今年第" + (date.getMonth() + 1) + "月");
    // getDate()返回指定日期是当月的第几天
    System.out.println("getDate()方法使用:当前日期是本月第几天:" + date.getDate());
    // getDay()返回指定日期是当周的第几天
    System.out.println("getDay()方法使用:当前日期是本周第几天:" + date.getDay());
    // getHours()方法返回指定日期是当天的第几个小时
    System.out.println("getHours()方法使用:当前日期是今天的第" + date.getHours() + "个小时");
    // getMinutes()方法返回指定日期是小时的第几分钟0-59
    System.out.println("getMinutes()方法使用:当前小时经过" + date.getMinutes() + "分钟");    
    // getMinutes()方法返回指定日期是小时的第几分钟0-59
    System.out.println("getSeconds()方法使用:当前分钟经过" + date.getSeconds() + "秒");    
    // getTime()方法,返回自1970年1月1日00:00:00 GMT以来的毫秒数
    System.out.println("getTime()方法,自1970年1月1日00:00:00 GMT以来的"+date.getTime()+"毫秒");
    System.out.println("与get方法配套的还有一系列setXXX()方法,用来更改设置日期,不在赘述--------------");
    //静态方法,根据给定参数定义的日期返回该日期自1970年1月1日00:00:00 GMT以来的毫秒数
    System.out.println("该日期自1970年1月1日00:00:00 GMT以来的毫秒数:"+Date.UTC(2017, 1, 7, 15, 1, 20));
    //静态方法,根据给定字符串解析出它对应的日期
    System.out.println("根据指定字符串解析出相应的日期:"+Date.parse(date.toString()));
    System.out.println("toString()返回默认时区CST日期字符串:"+date.toString());
    System.out.println("toGMTString()返回GMT日期字符串:"+date.toGMTString());
    System.out.println("toLocaleString()返回本时区下的日期字符串:"+date.toLocaleString());
    System.out.println("当前时区时间与UTC之间差距,单位为分钟(中国时区为UTC+8 所以是-480minutes)"+date.getTimezoneOffset());    
    }
}
after()方法使用:当前日期2018-02-07是否在2018-01-01后:true
after()方法使用:当前日期2018-02-07是否在2018-03-03后:false
before()方法使用:当前日期2018-02-07是否在2018-01-01前:false
before()方法使用:当前日期2018-02-07是否在2018-03-03前:true
clone()方法:克隆一个新的日期对象:2018-02-07
compareTo()方法使用:当前日期与自身相比:0
compareTo()方法使用:当前日期2018-02-07与2018-01-01相比:1
compareTo()方法使用:当前日期2018-02-07与2018-03-03相比:-1
getHours()方法使用:当前日期是从1900年开始的第118年
getHours()方法使用:当前日期是今年第2月
getDate()方法使用:当前日期是本月第几天:7
getDay()方法使用:当前日期是本周第几天:3
getHours()方法使用:当前日期是今天的第15个小时
getMinutes()方法使用:当前小时经过16分钟
getSeconds()方法使用:当前分钟经过30秒
getTime()方法,自1970年1月1日00:00:00 GMT以来的1517987790021毫秒
该日期自1970年1月1日00:00:00 GMT以来的毫秒数:61444623680000
根据指定字符串解析出相应的日期:1518038190000
toString()返回默认时区CST日期字符串:Wed Feb 07 15:16:30 CST 2018
toGMTString()返回GMT日期字符串:7 Feb 2018 07:16:30 GMT
toLocaleString()返回本时区下的日期字符串:2018-2-7 15:16:30
当前时区时间与UTC之间差距,单位为分钟(中国时区为UTC+8 所以是-480minutes)-480

 

以上是关于java.util.Date的主要内容,如果未能解决你的问题,请参考以下文章

util.date和sql.date的衔接处理

java.util.Date 和 XMLGregorianCalendar 之间的简单转换

如何从 java.sql.Timestamp 转换为 java.util.Date?

如何在 GMT(格林威治)时间将 XMLGregorianCalendar 转换为 java.util.Date

我应该使用 java.util.Date 还是切换到 java.time.LocalDate

java中java.util.Date和java.sql.Date区别以及数据库的Date和DateTime