Java常用API(六)Date 日期类介绍及使用

本文介绍了Java中Date类的基本用法,包括如何创建Date对象、日期与毫秒值之间的转换、字符串与Date之间的转换,以及如何比较两个日期的大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简单介绍

  1. 所在包 : java.util.Date。
  2. Date d = new Date(); System.out.println(d); // 打印出的内容是: 月份 日期 时间 时区  年份。
  3. Date d = new Date(2000,01,1); //打印的实际时间是在1900年01月 01日的00时00分00秒的基础上叠加的。
  4. 在使用Date类时系统 提示需要加上 SuppressWarring("deprecation")注解,这表示这个方法已经过时,但是仍然可以使用,但是会在以后的某个版本中将会被删除 。

二、应用 

  1. 字符串转Date : Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").prase("2000-01-01 12:32:34");
  2. Date转字符串 : String str  =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date date);
  3. Date类表示特定的瞬间,精确到毫秒。
  4. 有2种方法可以创建Date对象(这里不考虑已过时的构造函数)

    1、public Date()——分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。

    1 @Test
    2 public void test1() {
    3     Date date = new Date();
    4     System.out.println(date);
    5 }
    Sun Oct 23 22:39:14 CST 2016

    2、public Date(long date)——根据给定的毫秒值创建日期对象。

    1 @Test
    2 public void test2() {
    3     long time = System.currentTimeMillis();
    4     Date date = new Date(time);
    5     System.out.println(date);
    6 }
    Sun Oct 23 22:41:42 CST 2016

    介绍完了Date的构造函数后,接下来来看看日期与毫秒值的相互转换

    1、public long getTime()——日期转毫秒值

    通过getTime方法可以将一个日期类型转换为long类型的毫秒值

    1 @Test
    2 public void test3() {
    3     Date date = new Date();
    4     System.out.println(date.getTime());
    5 }
    1477234414353

    2、public void setTime(long time)——毫秒值转日期

    1 @Test
    2 public void test4() {
    3     long time = System.currentTimeMillis();
    4     Date date = new Date();
    5     date.setTime(time);
    6     System.out.println(date);
    7 }
    Sun Oct 23 22:53:05 CST 2016

    当然也可以通过构造函数public Date(long date)将毫秒值转为日期类型。

    通常我们会比较2个日期的大小,Date类提供以下方法用来比较2个日期的相关操作

    1、public boolean before(Date when)——测试此日期是否在指定日期之前,当且仅当此Date对象表示的瞬间比when表示的瞬间早,才返回true;否则返回false。

    1 @Test
    2 public void test5() {
    3     Date date1 = new Date(1000);
    4     Date date2 = new Date(2000);
    5     System.out.println(date1.before(date2));
    6 }
    true

    2、public boolean after(Date when)——测试此日期是否在指定日期之后,当且仅当此Date对象表示的瞬间比when表示的瞬间晚,才返回true;否则返回false。

    1 @Test
    2 public void test6() {
    3     Date date1 = new Date(1000);
    4     Date date2 = new Date(2000);
    5     System.out.println(date1.after(date2));
    6 }
    false

    3、public int compareTo(Date anotherDate)——比较两个日期的顺序。

    如果参数Date等于此Date,则返回值0;如果此Date在Date参数之前,则返回小于0的值;如果此Date在Date参数之后,则返回大于0的值。

    1 @Test
    2 public void test7() {
    3     Date date1 = new Date(1000);
    4     Date date2 = new Date(2000);
    5     System.out.println(date1.compareTo(date2));
    6 }
    -1		
参考:http://www.cnblogs.com/huangminwen/p/5994927.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值