本文介绍简化Java日期操作的开源项目DATE4J的方法。
以往要使用Java对时间日期进行操作,可能会用到以下的一些类:
Date and its subclasses :
java.util.Date
java.sql.Date
java.sql.Timestamp
The calendar and time zone classes :
java.util.Calendar
java.util.GregorianCalendar
java.util.TimeZone
java.util.SimpleTimeZone (for use with the Gregorian calendar only)
The formatting and parsing classes :
java.text.DateFormat
java.text.SimpleDateFormat
java.text.DateFormatSymbols
以上这么多类用起来是不是很麻烦呢,现在好了,有了DATE4J,就不用这么麻烦了。
下面是一些简单的实例:
view plaincopy to clipboardprint?
//Examples
//Here are some quick examples of using date4j's DateTime class :
DateTime dateAndTime = new DateTime("2010-01-19 23:59:59");
DateTime dateAndTime = new DateTime("2010-01-19 23:59:59.123456789");
DateTime dateOnly = new DateTime("2010-01-19");
DateTime timeOnly = new DateTime("23:59:59");
DateTime dateOnly = DateTime.forDateOnly(2010,01,19);
DateTime timeOnly = DateTime.forTimeOnly(23,59,59,0);
DateTime dt = new DateTime("2010-01-15 13:59:15");
boolean leap = dt.isLeapYear(); //false
dt.getNumDaysInMonth(); //31
dt.getStartOfMonth(); //2010-01-01, 00:00:00.000000000
dt.getEndOfDay(); //2010-01-15, 23:59:59.999999999
dt.format("YYYY-MM-DD"); //formats as '2010-01-15'
dt.plusDays(30); //30 days after Jan 15
dt.numDaysFrom(someDate); //returns an int
dueDate.lt(someDate); //less-than
dueDate.lteq(someDate); //less-than-or-equal-to
//Although DateTime carries no TimeZone information internally, there are methods that take a TimeZone as a parameter :
DateTime now = DateTime.now(someTimeZone);
DateTime today = DateTime.today(someTimeZone);
DateTime fromMilliseconds = DateTime.forInstant(31313121L, someTimeZone);
birthday.isInFuture(someTimeZone);
dt.changeTimeZone(fromOneTimeZone, toAnotherTimeZone);
//Examples
//Here are some quick examples of using date4j's DateTime class :
DateTime dateAndTime = new DateTime("2010-01-19 23:59:59");
DateTime dateAndTime = new DateTime("2010-01-19 23:59:59.123456789");
DateTime dateOnly = new DateTime("2010-01-19");
DateTime timeOnly = new DateTime("23:59:59");
DateTime dateOnly = DateTime.forDateOnly(2010,01,19);
DateTime timeOnly = DateTime.forTimeOnly(23,59,59,0);
DateTime dt = new DateTime("2010-01-15 13:59:15");
boolean leap = dt.isLeapYear(); //false
dt.getNumDaysInMonth(); //31
dt.getStartOfMonth(); //2010-01-01, 00:00:00.000000000
dt.getEndOfDay(); //2010-01-15, 23:59:59.999999999
dt.format("YYYY-MM-DD"); //formats as '2010-01-15'
dt.plusDays(30); //30 days after Jan 15
dt.numDaysFrom(someDate); //returns an int
dueDate.lt(someDate); //less-than
dueDate.lteq(someDate); //less-than-or-equal-to
//Although DateTime carries no TimeZone information internally, there are methods that take a TimeZone as a parameter :
DateTime now = DateTime.now(someTimeZone);
DateTime today = DateTime.today(someTimeZone);
DateTime fromMilliseconds = DateTime.forInstant(31313121L, someTimeZone);
birthday.isInFuture(someTimeZone);
dt.changeTimeZone(fromOneTimeZone, toAnotherTimeZone);
获取DATE4J.jar请访问DATE4J项目网站:http://www.date4j.net
本文来自博客:http://blog.csdn.net/softwave/archive/2010/05/06/5564724.aspx
分享到:
相关推荐
Date4j是一个轻量级的日期处理类库,它的出现为Java开发者提供了一种更为简单易用的方式来处理日期和时间。这个库的目标是简化日期计算,避免使用Java标准库中的`java.util.Date`和`java.util.Calendar`这些复杂的...
阿里集团在Java开源社区贡献了众多优秀项目,涵盖了分布式服务、数据库连接池、JSON处理、RPC框架、流式计算、推送服务、数据访问层、JVM优化、图片处理、Redis客户端以及诊断工具等多个方面。以下是对这些项目的...
在Java编程中,工具类(Utility Class)是包含静态方法的类,这些方法通常执行某种通用操作或提供一些辅助功能。这些工具类可以极大地提高代码的可读性和可重用性,减少代码冗余,使得开发者能更专注于业务逻辑。在...
综上所述,DataTimePicker是一个强大的开源项目,它简化了Android应用中时间日期选择功能的实现。通过灵活的配置和自定义,开发者可以快速创建出符合应用风格和用户体验需求的时间日期选择器。在实际开发中,可以...
4. **兼容性**:尽管Fluent Date库提供了更友好的日期处理方式,但它仍然兼容Java 8的日期时间API,因此可以在现有项目中轻松集成。 三、Fluent Date的使用示例 在解压的“fluent-date-master”文件中,通常包含源...
Java Date Utils是一个开源库,专为Java开发者设计,旨在简化日期和时间的处理。这个库提供了丰富的实用工具方法,使得开发者在处理日期相关的任务时能够更加高效和便捷。开源的特性意味着源代码对公众开放,允许...
- `now()`:返回当前日期和时间的`Date`对象,简化了获取当前时间的操作。 6. **时间间隔**: - `getTimeDifference(Date startDate, Date endDate)`:计算两个日期之间的差值,通常返回一个`long`类型的毫秒数。...
以下是 11 个必须知道的 Java 第三方类库,它们分别是 DBUnit、Mockito、Hamcrest Matchers、Apache Commons Configuration、DbUtils、IO、Lang、SLF4J、Google Collections、c3p0 和 Joda Time。 1. DBUnit DBUnit...
Log4j是Apache的一个开源项目,它提供了灵活的日志配置和丰富的日志级别,使得开发者可以方便地控制和收集应用程序的日志信息。Logback是Log4j的后继者,提供更高的性能和更现代的特性。 以上就是Java工具类中涵盖...
4. **Date和Time API重构**:新的java.time包替代了旧的日期和时间API,提供了更强大、更直观的时间日期处理功能。 5. **接口默认方法**:接口可以包含非抽象的默认方法,允许在不破坏向后兼容性的前提下扩展已存在...
4. **日期和时间API**:改进了java.util.Date和Calendar,引入了java.time包,提供了更好的日期和时间处理能力。 5. **默认方法**:在接口中可以定义具有实现的方法,允许接口的扩展而不会破坏已有的实现。 压缩包...
"prettytime"是一个开源项目,专门用于提供社交风格的日期和时间格式化,使得输出更加人性化,更符合人们的日常交流习惯。这个项目名为"prettytime,Java的社交风格日期和时间格式.zip",包含的压缩文件为"prettytime...
Google Guava库是Google的一个开源项目,包含了大量Google核心的Java常用库。它扩展了Java集合框架,并提供了特定类型的集合如map、set、list和queue,同时提供了二进制文件和文本文件的I/O类。使用Guava可以简化...
3. **日期时间**:如`DateUtils`,便于日期的格式化、比较、计算等,避免了对`java.util.Date`和`java.text.SimpleDateFormat`的直接操作。 4. **IO操作**:如`IOUtils`,提供读写文件、复制流、关闭资源等便捷方法...
总之,"一些JAVA工具类集合,可用于项目使用(源码)"提供了一个宝贵的资源,集成了多种Java工具类,可以极大地简化开发过程。通过合理地引入和使用这些工具类,可以提高代码质量,减少重复工作,让开发者更专注于...
总之,Java日历组件JCalendarButton是Java GUI开发中的一个强大工具,它简化了日期选择功能的实现,提高了用户交互性。通过深入理解和灵活运用JCalendarButton,开发者可以为Java应用程序构建出更加高效、易用的日期...
Struts是一个开源的MVC框架,它简化了Java Web应用的开发过程。在导入声明部分,除了标准的Java IO包之外,还引入了`org.apache.struts.upload.FormFile`类。 ```java package com.wy.tool; import java.io.*; ...
Struts是Apache软件基金会的一个开源框架,主要用于构建Java EE Web应用程序。在Struts框架中,开发者经常需要处理日期,...在实际操作中,开发者应根据项目需求,结合Util类提供的方法,选择合适的方式进行日期处理。
Linux是一个开源的操作系统,它支持Java程序的运行,提供了一个稳定的系统平台环境。Eclipse和Myeclipse是流行的Java集成开发环境(IDE),可以为Java开发提供代码编辑、编译和调试等功能。 Java API是Java应用程序...
4. **日期和时间API(java.time)**:取代了过时的java.util.Date和Calendar API,提供了更现代、更直观的时间日期操作。 5. **默认方法**:在接口中添加了带有实现的方法,使得接口能更好地适应演进的需求,而无需...