`
longzijian
  • 浏览: 39364 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

日期&日期格式&日历

    博客分类:
  • J2SE
阅读更多

在项目开发工作中,日期是商业逻辑计算一个要害的部分.

因此,开发者必须能够计算未来的日期, 定制日期的显示格式, 并将文本数据解析成日期对象.

而在Java中,Calendar(日历),Date(日期), 和DateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分.

因此在进行日期的处理和分析常用到下面几个类:

 

1.日期 

父类:java.util.Date

子类:java.sql.Date,    java.sql.Time,   java.sql.Timestamp

 

   (1) 先来说说它们之间的关系,java.util.Date这个类是java.sql.Date,  java.sql.Time,  java.slq.Timestamp

          这三个类的父类。这三个类对java.util.Date类进行了包装。

 

   (2) java.util.Date

          Date类可以用于获得特定的瞬间,精确到毫秒的日期值;

         

          在 JDK 1.1 之前,类 Date 有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。

             它也允许格式化和解析日期字符串。不过,这些函数的 API 不易于实现国际化。

              从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,

                                              使用 DateFormat 类来格式化和解析日期字符串。

             Date 中的相应方法已废弃。尽管Date大部分方法已经过时,但Date类并没有过时,我会在另外的文章介绍

             Date的具体使用,当然也可以查看API文档。             

 

   (3) java.sql.Date类

         一个包装了毫秒值的瘦包装器 (thin wrapper),它允许 JDBC 将毫秒值标识为 SQL DATE 值。

         即主要用于将 JDBC 日期转义形式的字符串转换成 Date 值,其它大部分方法已经过时。

        

         隐藏了java.util.Date类 的时间有关的方法(形如:hh:mm:ss),因此,不可以通过这个类访问时间有关的信息,

           比如:

              如果你通过sqlDate.getHour()方法去访问小时信息,此方法会抛出一个IllegalArgumentException 异常。

              这是因为java.sql.Date在继承java.util.Date类的时候对父类进行了重写,禁用了时间访问的方法。

              之所以这么处理,是为了和数据库的Date数据类型相匹配,数据库的Date数据类行只是保存日期有关的字段。

 

   (4) Java.sql.Time类

          隐藏了java.util.Date的日期有关的字段(形如:yyyy-MM-dd),因此,不能通过这个类访问日期有关的信息

            比如: 

          如果你通过sqlTime.getYear()方法去获取年有关的信息,此方法会抛出一个IllegalArgumentException 异常。

                这是因为java.sql.Time在继承java.util.Date类的时候对父类进行了重写,禁用了日期访问的方法。

                之所以这么处理,是为了和数据库的Time数据类型相匹配,数据库的Time数据类行只是保存时间有关的字段。

 

   (5) Java.sql.Timestamp类

           则对java.util.Date这个类进行了扩充,它在java.util.Date类的基础上增加了毫秒的时间访问控制,因此,

           你可以通过getNanos()方法去获取时间的毫微秒数

                      (注意此处获取的时间是以毫微秒为单位的,1秒等于十亿毫微秒),

           同样的,这也是为了和数据库中的Timestamp数据类型进行匹配。

 

2.日历 

父类:java.util.Calendar (抽象类)

子类:java.util.GregorianCalendar

 

  (1) Java.util.Calendar类

           是java.util.Date类的一个更加深入,更加全面的替代。Java.util.Calendar类支持java.util.Date的所有功能,

              此外,Calendar还引入了多语言,多区域的特性,可以根据需要获取不同区域,不同时区的时间,

              Calendar还增加了比Date更加方便和快捷的许多操作,

              如获取一年当中的第几个星期,各个月的天数等便捷的方法。

 

  (2)java.util.GregorianCalendar 类

            GregorianCalendarCalendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。

 

  (3)Java.util.Calendar区别与java.util.Date的几个地方也需要注意一下:

          首先,  Calendar增加了毫秒的时间段,通过它可以获取时间点的毫秒值,而java.util.Date只是精确到秒。

 

          其次,  Calendar过去年的时候是当前年份比如:2010,而Date获取年份的时获取到的是当前年份-1900的

                       一个值(2010-1900=110,因此,你调用getYear后过去的值就是110)。

 

          最后,  Calendar是一个抽象类,之所以能够实例化,是因为此处的Calendar充当了一个类似于工厂的作用,

                       在getInstance方法中实例化了Calendar子类GregorianCalendar,并把它返回给客户使用。

 

 

3.日期格式

父类:java.text.DateFormat (抽象类)

子类:java.text.SimpleDateFormat 

 

 

 

  

分享到:
评论

相关推荐

    日期日历格式等相关.zip

    日期和日历格式在计算机编程和软件...总的来说,日期日历格式涉及了编程中的日期表示、日期操作、用户交互设计、时区转换和数据验证等多个重要知识点。理解和掌握这些概念对于任何IT专业人员来说都是非常基础且必要的。

    android 日期日历源码

    在Android开发中,日期日历功能是不可或缺的一部分,它允许用户查看、选择和管理日期相关的事件。本资源提供了一个关于Android日期日历的源码示例,帮助开发者深入理解其工作原理并进行自定义实现。以下是对这个源码...

    jQuery日期日历选择器插件自定义多种日期选择

    在IT领域,前端开发中经常会使用到各种各样的插件来增强用户体验,特别是涉及到日期选择时,jQuery日期日历选择器插件就是一种常见的解决方案。本文将深入探讨jQuery日期日历选择器插件的自定义功能及其应用。 首先...

    微信小程序日历日期选择器.zip

    在微信小程序开发中,日历日期选择器是一个常见的交互组件,用于用户选择特定日期或日期范围。本项目“微信小程序日历日期选择器”提供了一种定制化解决方案,允许开发者根据需求调整显示的月份和可选日期范围,并且...

    asp日历&备忘录

    【ASP日历&备忘录】是一款基于Active Server Pages(ASP)技术开发的应用程序,它模仿了谷歌日程表的功能,提供了用户友好的界面和高效的时间管理体验。这个应用程序允许用户创建、编辑和查看日历事件,同时还能作为...

    Java日期程序案例(日历,获取当前日期方法、日期查询、日期比较,日期判断)

    Java日期程序案例(日历,获取当前日期方法、日期查询、日期比较,日期判断);Java日期程序案例(日历,获取当前日期方法、日期查询、日期比较,日期判断);Java日期程序案例(日历,获取当前日期方法、日期查询、...

    jQuery按日期查询日历表格式代码.zip

    "jQuery按日期查询日历表格式代码"是一个利用jQuery实现的,用于用户界面中展示日历并进行日期查询的功能。这个功能在网页应用中非常常见,例如在预订系统、日程管理或者数据分析等场景。 首先,我们来详细了解一下...

    jq双日历日期区间选择

    "jq双日历日期区间选择"是一种常见的交互设计,它允许用户通过两个日历组件来设定一个起始日期和结束日期,以此来定义一个日期范围。这个功能在诸如预订系统、数据分析或者报告生成等应用中非常实用。 实现这种功能...

    基于js的日期选择日历控件

    在网页开发中,日期选择日历控件是不可或缺的一部分,尤其在处理用户输入日期的场景中,如在线预订、表单填写等。基于JavaScript的日期选择日历控件提供了便捷的用户界面,允许用户直观地选取日期,而无需手动输入。...

    java日期日历控件

    Java日期日历控件是Java开发中用于显示和选择日期的一种UI组件,它在各种桌面应用和Web应用中都有广泛的应用。在Java中,我们可以使用内置的`java.util.Calendar`类和`java.time`包(Java 8及以上版本)来处理日期和...

    jQuery制作简洁漂亮日期日历控件包含多选日期等

    在IT领域,特别是前端开发中,创建用户友好的交互元素是至关重要的,而日期日历控件正是此类元素的一种。本教程将详细讲解如何利用jQuery技术制作一款简洁且功能强大的日期日历控件,该控件支持多选日期,允许用户...

    NET日期插件,日历选择

    在.NET框架中,日期插件可以极大地提升用户体验,使用户能够更方便地输入或选择日期,而无需手动输入复杂的日期格式。本文将详细介绍6种风格的ASP.NET日期插件及其功能。 1. **jQuery UI Datepicker** jQuery UI ...

    选择日期的日历

    - **日期格式化**:日期的显示格式可以根据应用的需求进行定制,如“年-月-日”、“月/日/年”等,需要确保正确地解析和格式化日期字符串。 - **日期范围限制**:可能需要设定可选日期的范围,例如只允许选择未来...

    日期、日历插件

    日期和日历插件在IT领域中扮演着重要的角色,特别是在网页开发和应用程序设计中。它们为用户提供了一种直观的方式来选择、查看和管理日期,极大地提升了用户体验。在本篇文章中,我们将深入探讨这些插件的功能、特性...

    JS日历控件(可以选择多个日期)

    在JavaScript(JS)中,日历控件是一种常见的交互元素,用于用户友好地选择日期。在许多Web应用程序中,特别是那些涉及到日期输入的场景,如预订系统、日程管理等,这种控件非常实用。本篇文章将深入探讨如何创建一...

    JS日历插件日期选择器

    JavaScript(简称JS)日历插件是一种常用的前端交互组件,用于在网页上提供直观的日期选择功能。在网页设计和开发中,日期选择器通常用于处理与日期相关的表单输入,如预订系统、事件安排或者在线调查等。下面将详细...

    jquery插件-日历选择器 日期选择

    1. **日期格式化**:允许用户自定义日期显示格式,如"YYYY-MM-DD"或"MM/DD/YYYY"。 2. **日期限制**:可以设定可选日期范围,如只能选择未来的日期或者过去30天内的日期。 3. **预设日期**:允许设置默认选中的日期...

    jQuery的带提示信息的日期日历插件.zip

    jQuery带提示信息的日期日历插件</title> <link rel="stylesheet" href="css/calendar.css?3.1.64"> </head> <body>[removed][removed] <div id="calendar" class="calendar"></div> ...

    在Visual Foxpro编程中通过VF日历控件,VF日期插件,VF日期控件实现日期输入

    在 Visual Foxpro 编程中,日期输入是一个非常重要的功能,通过使用 VF 日历控件、VF 日期插件、VF 日期控件,可以实现日期输入。下面将详细介绍如何使用这些控件来实现日期输入。 VF 日历控件 VF 日历控件是一个...

    calendar手机选择日期日历插件.zip

    "calendar手机选择日期日历插件.zip" 是一个专为手机设计的日历模板,它提供了用户友好的界面,使得用户能够方便地在应用中选择日期。下面将详细探讨这个日历插件相关的知识点。 1. **日历插件的基本功能**: - **...

Global site tag (gtag.js) - Google Analytics