Joda-Time 简介:既然无法摆脱时间,为何不设法简化时间处理?
2009-12-16 00:00:00 来源:WEB开发网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 类可以包含的所有字段。您可以用它快速了解特定类在哪一种粒度级别上操作。
- ››简介CentOS配置ssh系统技术
- ››Joda-Time 简介:既然无法摆脱时间,为何不设法简...
- ››Timer对象和TimerEvent事件
- ››简介:Oracle 11g分区
- ››Timeout error occurred trying to start MySQL D...
- ››简介穿过防火墙来远程控制协议分析仪
- ››简介Visual C++ 2008 Feature Pack
- ››简介使用Java编写Palm OS程序的解决方案
- ››简介使用Java编写PalmOS程序的解决方案
- ››TimerTask与Timer使用示范
- ››简介DB2 9.5和IBM Data Studio
- ››简介Mysql中的临时表使用方法
更多精彩
赞助商链接