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

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

 2009-12-16 00:00:00 来源:WEB开发网   
核心提示: 然而,Date 确实有一个构造函数,Joda-Time 简介:既然无法摆脱时间,为何不设法简化时间处理?(2),您可以用来创建用时间表示某个瞬间的对象(除 “现在” 以外),该方法使用距离 1970 年 1 月 1 日子时格林威治标准时间(也称为 epoch)以来的毫秒数

然而,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,代码如清单 2 所示:

清单 2. 以 Joda 的方式向某一个瞬间加上 90 天并输出结果

DateTime dateTime = new DateTime(2000, 1, 1, 0, 0, 0, 0); 
System.out.println(dateTime.plusDays(90).toString("E MM/dd/yyyy HH:mm:ss.SSS"); 

上一页  1 2 3 4 5 6 7  下一页

Tags:Joda Time 简介

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