`
wangyi529
  • 浏览: 34310 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类

简化Java日期操作的开源项目DATE4J方法

阅读更多
  本文介绍简化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
分享到:
评论

相关推荐

    JDK8新特性(pdf版)

    OpenJDK是Sun在2006年末把Java开源而形成的项目,也就是说Open JDK是Java SE平台版的开源和免费实现,由SUN和Java社区提供支持。Oracle JDK完全由Oracle公司开发,Oracle JDK是基于Open JDK源代码的商业版本。 二、...

    关于花的Android开源软件花界.zip

    JdApp是CSDN博客的一个网友发布的个人开源项目,基于facebook的开源项目React Native 实现的一个高仿京东app的项目。​ 一款第三方今日头条客户端1214 Toutiao - 一款第三方今日头条客户端, MVP ...

    将 Flex 集成到 Java EE 应用程序的最佳实践(完整源代码)

    为了简化数据库操作,我们使用了内存数据库 HSQLDB。对这个简单的应用,省略了 DAO,直接在 Façade 中通过 Spring 的 JdbcTemplate 操作数据库。最后,EmployeeMgmt 应用通过 Servlet 和 JSP 页面为用户提供前端...

    springboot架构系统,整合springcloudalibaba nacos,低耦合,开配置功能

    Swagger3 knife4j(ui)3.0.2 swagger 日期字段api接口正确显示 @ApiModelProperty(dataType = "java.util.Date") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") 统一对象获取前端参数,实体表类 + 继承的param...

    +Flex+集成到+Java+EE+应用程序的最佳实践(完整源代码)

    为了简化数据库操作,我们使用了内存数据库 HSQLDB。对这个简单的应用,省略了 DAO,直接在 Fa?ade 中通过 Spring 的 JdbcTemplate 操作数据库。最后,EmployeeMgmt 应用通过 Servlet 和 JSP 页面为用户提供前端界面...

    JDateUtil-开源

    JDateUtil是Java实用程序类,它提供简化使用java.util.Date,java.util.Calendar和其他与日期/时间相关的JDK类的方法。

    xmljava系统源码-Myioc:这是一个简单的IoC容器实现

    的开源项目,简化了Spring的IoC容器和AOP,API名字都是仿照Spring,所以临摹了一下IoC,后续打算临摹下它的AOP。 我的项目地址为 ,目前只实现了IoC容器,后续将会有更新AOP实现 大体结构 项目是以使用...

    社区协作配置标准Tamaya.zip

    Tamaya所支持的并不局限于String值,可以是任意的Java类型,只要我们所注册的PropertyConverters能够从原始的配置值(String类型)衍生出类型化的值就可以,例如将其作为Date或URL。此外,Apache Tamaya还提供了无数...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    日期类型 date 7字节 用于存储表中的日期和时间数据,取值范围是公元前4712年1月1日至公元9999年12月31日,7个字节分别表示世纪、年、月、日、时、分和秒 二进制数据类型 row 1~2000字节 可变长二进制数据,在具体...

    worldwindjava源码-puzzlehunt-svc-neo4j:用于将数据存储在Neo4j中的ClueKeeper式应用程序的服务

    世界风java源码拼图-svc-neo4j Tl;dr:两位 Java 开发人员开始学习 Neo4j 和 GraphQL。 这个回购就是结果。 在 2020 年夏天,我们着手为一个虚构的应用程序编写一个 API,该 API 支持玩家在 ( à la ,使用该应用...

    MySQL5.1参考手册官方简体中文版

    北京万里开源软件有限公司在全国范围提供MySQL产品相关的商务及 技术方面的咨询与支持服务。垂询请致电:8610-65694500,或发送邮件至:sales@greatlinux.com. 本手册编译于2006-7-29,目录及索引由官方HTML文档...

Global site tag (gtag.js) - Google Analytics