简化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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值