日期和时间封装类

1、 Data类

Java日期和时间采用Data类。Data类在java.util包中。

Data类构造函数:

1)       Data()   采用当前时间初始化对象;

2)       Data(long millisec)   采用1970年1月1日起时间毫秒数来初始化对象。

Data类的方法:

1)       boolean after(Data d)、boolean before(Data d)

Data对象和参数指定日期较早晚,返回boolean值。

2)       boolean equals(Object data)

判断Data对象和参数中日期是否相等。

3)       int compareTo(Data d)

Data对象和日期参数比较,返回int值:

相等则返回0;

Data对象在参数日期参数后,返回正数;

否则返回负数

4)       long getTime( )

返回1970 年 1 月 1 日 00:00:00 GMT起时间毫秒数

5)       void setTime(long time)

用1970 年 1 月 1 日 00:00:00 GMT起时间毫秒数设置日期和时间

6)       String toString()

把Date 对象转换为以下形式的 String:dow mon dd hh:mm:ss zzz yyyy,其中dow标识星期几

2、 日期格式化:

一、SimpleDateFormat类

SimpleDateFormat类是个日期格式化类。SimpleDataFormat是一个以语言环境敏感的方式来格式化和分析日期的类。样例:

Date dNow = new Date();

SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");

ft.format(dNow)

二、使用printf格式化Data对象的输出格式:

printf方法可以很轻松地格式化时间和日期。使用两个字母格式,它以%t开头并且以表示格式的字母结尾。

1)       %tc

包括全部日期和时间信息,星期六 十月 27 14:21:20 CST 2007

2)       %tF

"年-月-日"格式 2007-10-27

3)       %tD "

月/日/年"格式 10/27/07

4)       %tr

"HH:MM:SS PM"格式(12时制) 02:25:51 下午

5)       %tT

"HH:MM:SS"格式(24时制)14:28:16

6)       %tR

"HH:MM"格式(24时制)14:28

三、解析时间字符串为时间对象:

SimpleDateFormat 类有一些附加的方法,特别是parse(),它试图按照给定的SimpleDateFormat 对象的格式化存储来解析字符串。样例:

SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd");

String input = "1818-11-11";

Date t;

t = ft.parse(input);

3、 进程休眠

可以采用如下方式进入停滞状态(阻塞当前线程),让出CPU的使用。样例:

Thread.sleep(1000*3); // 休眠3秒

4、 Calender类

如何设置和获取日期数据的特定部分呢,比如说小时,日,或者分钟?又如何在日期的这些部分加上或者减去值呢? 答案是使用Calendar 类。

Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂一些。

Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法创建即可。

1)       创建Calendar类对象。由于Calendar类是个抽象类,其创建对象方式不同:

Calendar c = Calendar.getInstance();  //创建一个Calendar对象,时间是当前时间

2)       修改calendar对象的时间

方式一:public final void set(int year,int month,int date)

样例:

c.set(2009, 6 - 1, 12);

方式二:指定日期中某个字段,修改

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 星期几

样例:

c.set(Calendar.DATE,10);

c.set(Calendar.YEAR,2008);

3)       获取Calendar对象的具体某个字段

样例:

// 获得年份

int year = c1.get(Calendar.YEAR);

// 获得分钟

int minute = c1.get(Calendar.MINUTE);

// 获得秒

int second = c1.get(Calendar.SECOND);

// 获得星期几(注意(这个与Date类是不同的):1代表星期日、2代表星期1、3代表星期二,以此类推)

int day = c1.get(Calendar.DAY_OF_WEEK);

4)       Calendar对象的具体某个加减操作

样例:

c.add(Calendar.DATE, 10);  //10天后时间

c.add(Calendar.DATE, -10);  //10天前时间

5、 GregorianCalendar

GregorianCalendar类实现公历日历。详见类定义。

Java语言中提供了三个日期类_Java语言学习(5)-Java中基础封装类(日期、时间类)...相关推荐

  1. 网络上连接的计算机必须要安装,[单选] Windows XP中提供了三种组件,实现不同的网络功能。如果计算机需要连接到Internet,必须安装()。...

    [单选] Windows XP中提供了三种组件,实现不同的网络功能.如果计算机需要连接到Internet,必须安装(). 更多相关问题 [单选] 乙炔与空气或氧气混合达到自燃温度在()下也能爆炸 [单 ...

  2. java定义数组_java中数组的三种定义方式_java中数组的定义及使用方法(推荐)...

    java中数组的三种定义方式 java中,数组是一种很常用的工具,今天我们来说说数组怎么定义 [java] view plain copy /** * 数组的三种定义方法 * 1.数组类型[] 数组名 ...

  3. java程序 构建mycircle类_Java语言程序设计(十九)对象和类的应用实例

    1.我们定义一个Circle类并使用该类创建对象,我们创建三个圆对象,1.0,25和125,然后显示这三个圆的半径和面积,将第二个对象的半径改为100,然后显示它的新半径和面积.程序清单如下: pac ...

  4. java语言特点解释类_Java语言特点

    Java语言特点 引导语:Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言.那么你知道Java语言的特点吗,以下是百分网小编分享给大家的Java语言特点,欢迎阅读! Java语言的特点 1 ...

  5. java语言与c++语言相比_最突出的特点是_Java 语言与C++语言相比,最突出的特点是( )。_学小易找答案...

    [简答题]今日はタバコを止めることにしました. [单选题]在编程时添加注释讲句, 会使编译之后生成的程序文件长度( ). [单选题]Java 语言与C++语言相比,最突出的特点是( ). [判断题]O ...

  6. java第十四章上机四客户类_java语言程序设计教学大纲.doc

    java语言程序设计教学大纲.doc 还剩 5页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 第六章 结构控制 2 2第七章 数组 2第八章 字符串 ...

  7. 用Java语言设计一个圆类_Java语言程序设计(一)

    1.咱们从一个简单的Java程序开始,该程序在控制台上显示消息"Welcome to Java!".首先咱们先建立一个java项目,我所用的编译器是Netbeans,打开Neatb ...

  8. java狼羊草过河_狼羊菜过河问题深入学习分析——Java语言描述版

    前言 这个问题的抛出,是几个星期之前的算法课程.老师分析了半天,最后的结论是:其实就是图的遍历.那时候挺懵逼的,不管是对于图,还是遍历,或者是数据结构,心里面都没有一个十足的概念,所以搁置了这么久的问 ...

  9. java 获取所有实现类_Java动态获取实现某个接口下所有的实现类对象集合

    Java动态获取实现某个接口下所有的实现类对象集合 最近有个需求,我需要获取所有同一类型的定时任务的对象,并自动执行. 我想的方案是:直接获取某个接口下面所有的实现类的对象集合,方便以后只需要 实现这 ...

  10. java 并发模型总类_java并发编程系列-内存模型基础

    java线程之间的通信对程序开发人员是完全透明的,内存的可见性问题很容易困扰很多开发人员.本篇博文将揭开java内存模型的神秘面纱,来看看内存模型到底是怎样的. 并发编程模型的分类 并发编程中需要处理 ...

最新文章

  1. VC实现将对话框最小化到系统托盘
  2. Xilinx的ISE14.7和PlanAhead与win10系统的兼容性问题解决方案
  3. 专访《王者荣耀》美术总监:用6年研究东方美学
  4. ustc linux 网络通,USTC 网络通脚本
  5. QPS 提升60%,揭秘阿里巴巴轻量级开源 Web 服务器 Tengine 负载均衡算法
  6. 一个mysql复制中断的案例
  7. 最新性能测试:Kafka、Pulsar 和 Pravega 哪个最强?
  8. JSON.toJSONString 首字母不小写
  9. day 69 orm操作之表关系,多对多,多对一(wusir总结官网的API)
  10. html页面搜索文章标题,html-文章页面中的H1-网站标题还是文章标题?
  11. 自行搭建 Bitwarden 服务
  12. 基于 python 的主成分分析步骤及应用实例
  13. 全民热议“10万彩礼结不了婚”的背后,百合网做了什么?
  14. 语言和语义(一,什么是语言)
  15. 比较全面的安全测试用例设计思路
  16. Python写网络爬虫(三)
  17. linux flock 命令安装,在Linux上使用flock命令控制程序的异步执行
  18. three.js 源码注释(一)./Three.js
  19. linssh2 sftp读取远端目录,获取远端文件或者目录信息
  20. 查找二叉树(BST)

热门文章

  1. Java编程技巧之单元测试用例编写流程
  2. 搭建一个微服务商城到底可以有多快?
  3. 性能高1倍,价格低3/4!数据库实时同步新选择!
  4. 用 Mars Remote API 轻松分布式执行 Python 函数
  5. 阿里宜搭重磅发布专有云版本、精品应用市场,助力政企数字化转型
  6. 借助 Cloud Toolkit 快速创建 Dubbo 工程
  7. 人工智能的时代来了,新的商业机会在哪里?
  8. 超干货|使用Keras和CNN构建分类器(内含代码和讲解)
  9. 在 React 工程中利用 Mota 编写面向对象的业务模型
  10. 荷兰政府用大数据预测天气预防自然灾害,他们是怎么做的?