当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:12:00  来源:本站整理

Joda-Time简介:既然无法摆脱时间,为什么不设法简化时间处理?[Java编程]

赞助商链接



  本文“Joda-Time简介:既然无法摆脱时间,为什么不设法简化时间处理?[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

在编写企业利用程序时,我常常需求处理日期.并且在我的最新项目中 — 保险行业 — 改正日期计算特别重要.利用 java.util.Calendar 让我有些不安.假如您也曾利用这个类处理过日期/时间值,那么您就知道它利用起来有多麻烦.因此当我接触到 Joda-Time — 面向 Java 利用程序的日期/时间库的替换挑选 — 我决意研究一下.后来果是:我很庆幸我这么做了.

Joda-Time 令时间和日期值变得易于管理、操作和理解.事实上,易于利用是 Joda 的主要计划目标.其他目标包含可扩大性、完好的特点集以及对多种日历系统的支持.并且 Joda 与 JDK 是百分之百可互操作的,因此您无需替换全部 Java 代码,只需求替换履行日期/时间计算的那部份代码.

Joda 大型项目

Joda 实际上是涵盖众多用于 Java 语言的替换 API 的大型项目,因此从技术上讲,利用 Joda 和 Joda-Time 名称表示相同的意思是一种误称.但在撰写本文之际,Joda-Time API 目前仿佛是唯一处于活泼开辟状况下的 Joda API.考虑到 Joda 大型项目的当前状况,我想将 Joda-Time 简称为 Joda 应当没什么问题.

本文将介绍并展示若何利用它.我将介绍以下主题:

日期/时间替换库简介

Joda 的关键概念

成立 Joda-Time 对象

以 Joda 的方法操作时间 style

以 Joda 的方法格局化时间

您可以 下载 演示这些概念的样例利用程序的源代码.

Joda 简介

为什么要利用 Joda?考虑成立一个用时间表示的某个随便的时刻 — 比方,2000 年 1 月 1 日 0 时 0 分.我若何成立一个用时间表示这个刹时的 JDK 对象?利用 java.util.Date?事实上这是行不通的,因为自 JDK 1.1 之后的每个 Java 版本的 Javadoc 都声明该当利用 java.util.Calendar.Date 中不赞成利用的构造函数的数目严重限制了您成立此类对象的途径.

但是,Date 确切有一个构造函数,您可以用来成立用时间表示某个刹时的对象(除 “目前” 以外).该办法利用距离 1970 年 1 月 1 日子时格林威治尺度时间(也称为 epoch)以来的毫秒数作为一个参数,对时区举行校正.考虑到 Y2K 对软件开辟企业的重要性,您大概会认为我已经记着了这个值 — 但是我没有.Date 也不过如此.

那么 Calendar 又若何呢?我将利用下面的方法成立必须的实例:

Calendar calendar = Calendar.getInstance();
calendar.set(2000, Calendar.JANUARY, 1, 0, 0, 0);

利用 Joda,代码应当近似以下所示:

DateTime dateTime = new DateTime(2000, 1, 1, 0, 0, 0, 0);

这一行简单代码没有太大的辨别.但是目前我将使问题略微复杂化.假定我但愿在这个日期上加上 90 天并输出后果.利用 JDK,我需求利用清单 1 中的代码:

清单 1. 以 JDK 的方法向某一个刹时加上 90 天并输出后果

Calendar calendar = Calendar.getInstance();
calendar.set(2000, Calendar.JANUARY, 1, 0, 0, 0);
SimpleDateFormat sdf =
  new SimpleDateFormat("E MM/dd/yyyy HH:mm:ss.SSS");
calendar.add(Calendar.DAY_OF_MONTH, 90);
System.out.println(sdf.format(calendar.getTime()));


  以上是“Joda-Time简介:既然无法摆脱时间,为什么不设法简化时间处理?[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • Joda-Time简介:既然无法摆脱时间,为什么不设法简化时间处理?
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .