一、简单介绍

  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

Java常用API(六)Date 日期类介绍及使用相关推荐

  1. 常用类 (五) ----- Date日期类和Calender日历类

    相关文章: <常用类 (一) ----- Arrays数组工具类> <常用类 (二) ----- Math类> <常用类 (三) ----- BigDecimal和Big ...

  2. Java Date日期类中的getMonth()与getYear()提示过时警告

    Date日期类中的getMonth()与getYear()提示过时警告,这里的警告是方法过时,不建议使用. 解决方法,使用Calendar类,但是这里的获取月份是,会比数据中的月份少1,这里需要进行加 ...

  3. Java | Java常用API方法总结

    Java常用API方法总结 常用API JavaAPI 1 java.lang String StringBuilder Integer parseXxx Math Object System Thr ...

  4. Java 常用API

    Java 常用API JFC(Java类库) 是系统提供的已实现的标准类的集合,是Java编程的API(Application Program Interface) 可帮助开发者方便.快捷地进行软件开 ...

  5. java常用地图坐标系转换工具类,支持谷歌,腾讯,百度等主流的地理坐标转换

    package com.shen.springboot.redis.util;import java.util.ArrayList; import java.util.HashMap; import ...

  6. java常用的日期类介绍

    开发过程中,对日期的处理十分普遍,掌握常用的日期转换方法,肯定会对工作有显著提升.声明一下,我本次使用的 jdk 1.8. 先说一说常用的Date.Calendar: 1.Date 提起Date,很多 ...

  7. Java 常用API的运用,效率及技巧

    1.     Java面向对象基本概念 2.     System 3.     String, StringBuffer 4.     数值,字符,布尔对象与简单类型的操作 5.     Class ...

  8. Java --- 常用API

    常用API 方法重载: 方法名相同,方法接收的参数不同 static: 修饰的类,可以直接使用类名进行调用 方法名 说明 public static abs(int a) 返回参数的绝对值 publi ...

  9. [深入理解Java虚拟机]第六章 Class类文件的结构

    在本章关于Class文件结构的讲解中,我们将以<Java虚拟机规范(第2版 )> (1999年发布,对应于JDK 1.4时代的Java虚拟机)中的定义为主线,这部分内容虽然古老,但它所包含 ...

最新文章

  1. 【Android 高性能音频】AAudio 音频流 构建器 ( AAudio.h | 流构造器 | 音频设备配置 | 音频采样配置 | 构建器销毁 )
  2. java中的stack类和C++中的stack类的区别
  3. 五分钟学会悲观乐观锁-java vs mysql vs redis三种实现
  4. CSS解决display:inline-block产生的缝隙间隙-代码写在一行 设置字体大小为0 设置负margin
  5. vue 悬浮按钮_Vue@哇!几行代码实现拖拽视图组件
  6. 在win7环境下使用网络无线共享把电脑变成一台无线路由器
  7. [AH2017/HNOI2017]礼物
  8. Java调用虚拟键盘输入法_Android 点击屏幕空白处收起输入法软键盘(手动打开)...
  9. 30秒明白tcp的3次握手
  10. PostgreSQL删除数据
  11. Java 1.1.7 String API (!!!)
  12. Python反向列表
  13. centos7中 npm install express 时Error: Cannot find module 'express'错误
  14. 安卓Activity布局简述
  15. LeetCode笔记
  16. gnome 3 初见
  17. 2022AI决策智能实践:美宜佳
  18. 改进YOLOv7-Tiny系列:首发改进结合BiFPN结构的特征融合网络,网络融合更多有效特征,高效涨点
  19. 安装配置python环境
  20. Dhtml,html,xhtml的区别

热门文章

  1. ASP.NET 5 入门(1) - 建立和开发ASP.NET 5 项目
  2. [每天进步一点 -- 流水账]第1周
  3. 用C#写的一个注册表操作类
  4. docker安装mysql后怎么链接_使用docker安装mysql并连接
  5. STL源码剖析---红黑树原理详解下
  6. Pytorch学习(一)—— 自动求导机制
  7. Exif文件格式描述
  8. hadoop中如何动态更新集群队列和容量
  9. Lucene之Java实战
  10. 软件架构师的工作流程