WEB开发网
开发学院软件开发Java Joda-Time 简介:既然无法摆脱时间,为何不设法简... 阅读

Joda-Time 简介:既然无法摆脱时间,为何不设法简化时间处理?

 2009-12-16 00:00:00 来源:WEB开发网   
核心提示: ReadableInstantJoda 通过 ReadableInstant 类实现了瞬间性这一概念,表示时间上的不可变瞬间的 Joda 类都属于这个类的子类,Joda-Time 简介:既然无法摆脱时间,为何不设法简化时间处理?(7),(将这个类命名为 ReadOnlyInstant 可能更好,

ReadableInstant

Joda 通过 ReadableInstant 类实现了瞬间性这一概念。表示时间上的不可变瞬间的 Joda 类都属于这个类的子类。(将这个类命名为 ReadOnlyInstant 可能更好,我认为这才是设计者需要传达的意思)。换句话说,ReadableInstant 表示时间上的某一个不可修改的瞬间)。其中的两个子类分别为 DateTime 和 DateMidnight:

DateTime:这是最常用的一个类。它以毫秒级的精度封装时间上的某个瞬间时刻。DateTime 始终与 DateTimeZone 相关,如果您不指定它的话,它将被默认设置为运行代码的机器所在的时区。

可以使用多种方式构建 DateTime 对象。这个构造函数使用系统时间:

DateTime dateTime = new DateTime(); 

一般来讲,我会尽量避免使用系统时钟来初始化应用程序的实际,而是倾向于外部化设置应用程序代码使用的系统时间。样例应用程序执行以下代码: DateTime dateTime = SystemFactory.getClock().getDateTime(); 

这使得使用不同日期/时间测试我的代码变得更加简单:我不需要修改代码来在应用程序中运行不同的日期场景,因为时间是在 SystemClock 实现的内部设置的,而不是在应用程序的内部。(我可以修改系统时间,但是那实在太痛苦了!)

下面的代码使用一些字段值构建了一个 DateTime 对象:

DateTime dateTime = new DateTime( 
 2000, //year 
 1,  // month 
 1,  // day 
 0,  // hour (midnight is zero) 
 0,  // minute 
 0,  // second 
 0   // milliseconds 
); 

正如您所见,Joda 可以使您精确地控制创建 DateTime 对象的方式,该对象表示时间上的某个特定的瞬间。每一个 Joda 类都有一个与此类似的构造函数,您在此构造函数中指定 Joda 类可以包含的所有字段。您可以用它快速了解特定类在哪一种粒度级别上操作。

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:Joda Time 简介

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接