Joda-Time提供了一组Java类包用于处理包括ISO8601标准在内的date和time。可以利用它把JDK Date和Calendar类完全替换掉,而且仍然能够提供很好的集成。
Joda-Time主要的特点包括:
1. 易于使用:Calendar让获取"正常的"的日期变得很困难,使它没办法提供简单的方法,而Joda-Time能够 直接进行访问域并且索引值1就是代表January。
2. 易于扩展:JDK支持多日历系统是通过Calendar的子类来实现,这样就显示的非常笨重而且事实 上要实现其它日历系统是很困难的。Joda-Time支持多日历系统是通过基于Chronology类的插件体系来实现。
3. 提供一组完整的功能:它打算提供 所有关系到date-time计算的功能.Joda-Time当前支持8种日历系统,而且在将来还会继续添加,有着比JDK Calendar更好的整体性能等等。
附上几个例子:
1、创建任意时间对象
//jdk
Calendar calendar=Calendar.getInstance();
calendar.set(2012, Calendar.NOVEMBER, 15, 18, 23,55);
//Joda-time
DateTime dateTime=new DateTime(2012, 12, 15, 18, 23,55);
2、计算两日期相差的天数
//jdk
Calendar start = Calendar.getInstance();
start.set(2012, Calendar.NOVEMBER, 14);
Calendar end = Calendar.getInstance();
end.set(2012, Calendar.NOVEMBER, 15);
long startTim = start.getTimeInMillis();
long endTim = end.getTimeInMillis();
long diff = endTim-startTim;
int days=(int) (diff/1000 / 3600 / 24);
//joda-time
LocalDate start=new LocalDate(2012, 12,14);
LocalDate end=new LocalDate(2012, 12, 15);
int days = Days.daysBetween(start, end).getDays();
3、获取18天之后的某天在下个月的当前周的第一天日期
//jdk
Calendar current = Calendar.getInstance();
current.add(Calendar.DAY_OF_MONTH, 18);
current.add(Calendar.MONTH, 1);
......
DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = current.getTime();
String dateStr = dateFormat.format(date);
System.out.println(dateStr);
//joda-time
String dateStr = new DateTime().plusDays(18).plusMonths(1)
.dayOfWeek().withMinimumValue().toString("yyyy-MM-dd HH:mm:ss");
System.out.println(dateStr);
4、时间格式化
DateTimeFormatter format = DateTimeFormat .forPattern("yyyy-MM-dd HH:mm:ss");
//时间解析
DateTime dateTime = DateTime.parse("2012-12-21 23:22:45", format);
//时间格式化,输出==> 2012/12/21 23:22:45 Fri
String string_u = dateTime.toString("yyyy/MM/dd HH:mm:ss EE");
System.out.println(string_u);
//格式化带Locale,输出==> 2012年12月21日 23:22:45 星期五
String string_c = dateTime.toString("yyyy年MM月dd日 HH:mm:ss EE",Locale.CHINESE);
System.out.println(string_c);
5、与JDK互操作
//通过jdk时间对象构造
Date date = new Date();
DateTime dateTime = new DateTime(date);
Calendar calendar = Calendar.getInstance();
dateTime = new DateTime(calendar);
// Joda-time 各种操作.....
dateTime = dateTime.plusDays(1) // 增加天
.plusYears(1)// 增加年
.plusMonths(1)// 增加月
.plusWeeks(1)// 增加星期
.minusMillis(1)// 减分钟
.minusHours(1)// 减小时
.minusSeconds(1);// 减秒数
// 计算完转换成jdk 对象
Date date2 = dateTime.toDate();
Calendar calendar2 = dateTime.toCalendar(Locale.CHINA);
分享到:
相关推荐
这个库提供了比Java内置的日期和时间类(如`java.util.Date`和`java.util.Calendar`)更为强大且易用的功能。在Java社区中,Joda-Time因其丰富的API、强大的功能以及对日期和时间操作的清晰性而广受赞誉。 **Joda-...
`JodaTime-ohos` 是一个专为鸿蒙系统设计的日期和时间处理库,它基于广泛使用的 Java 库 `Joda-Time` 进行了移植,旨在提供更强大、更灵活的日期时间操作功能,以替代系统自带的简单日期处理类。本文将详细介绍 `...
Joda-Time是一个强大、易用、高效的日期和时间库,可以利用它把JDK Date和Calendar类完全替换掉无论是计算日期,打印日期、或者解析日期,都非常使用,便捷.附件中有最新的jar包,然后有对JodaTime详细的解释,以及...
总之,`joda-time-android`是一个专门为Android开发设计的日期时间处理库,它结合了Joda-Time的强大功能和对Android平台的优化,为开发者提供了一种高效、易用的日期时间处理解决方案。无论是在时间计算、格式化还是...
Joda-Time是Java开发中的一款非常流行的开源库,专门用于处理日期和时间。它弥补了Java标准库`java.util.Date`和`Calendar`在处理时间问题上的不足,提供了更加强大、灵活且易用的API。在本文中,我们将深入探讨Joda...
Joda-Time,作为Java日期和时间处理的一个重要库,为开发者提供了强大的日期和时间操作功能,尤其是在Java 8之前的版本,其易用性和灵活性远超内置的java.util.Date和Calendar类。Joda-Time 2.4是该库的一个稳定版本...
Joda-Time,作为一个知名的开源库,专注于为Java平台提供高效且易用的时间日期处理功能。版本2.7是该库的一个重要里程碑,它包含了源代码和Java文档,使得开发者能够更深入地理解和使用这个库。 在Java标准库中,`...
scala上最常用的时间日期处理框架. Joda-time是一个强大、易用、高效的时间日期处理框架,可以使时间和日期更容易操作和理解,可以完全替代JDK的相关API。
Joda-Time 2.5版本以其强大的功能和易用性,极大地改善了Java开发中的日期和时间处理体验。通过使用这个库,开发者可以更高效地处理复杂的日期和时间问题,提高代码的可读性和维护性。在实际项目中,尤其是需要处理...
joda-time-2.9.9时间日期转换工具类,简单易用,功能强大!
为了解决这些问题,社区推出了Joda-Time库,这是一个强大的、易于使用的日期和时间处理库,它极大地简化了Java中的日期和时间操作。 **一、Joda-Time简介** Joda-Time是Java的一个开源项目,由Stephen Colebourne...
Joda-Time 以其强大的功能、易用性和可扩展性成为了 Java 日期时间处理的首选工具。通过上述介绍,我们可以看到 Joda-Time 提供了许多实用的方法来帮助我们更好地处理日期和时间数据。对于任何涉及到日期时间处理的 ...
Joda-Time作为Java日期和时间处理的首选库,它的强大功能和易用性使其在开发中广泛被采用。从基本的时间点表示到复杂的时区转换,Joda-Time都能提供高效且准确的解决方案。在实际开发中,熟练掌握Joda-Time将有助于...
Joda-Time库的设计目标是简化日期、时间和时区的处理,提供更加直观和易用的API。这个库不仅包含了对日期、时间、持续时间和时区的基本操作,还提供了诸如间隔、格式化、解析和校准等功能,极大地提高了开发效率。 ...
为了解决这个问题,社区开发了Joda-Time库,它提供了更为强大且易用的日期时间操作功能。"操作日期的java包"即指的是Joda-Time这个第三方库。 Joda-Time是Java领域广泛使用的日期时间处理库,它的设计目标是替代...
1. **Joda-Time**: Joda-Time提供了比Java标准库更强大的日期和时间处理功能,包括时间区间、时区处理、不可变日期时间类等。开发者可以通过它来更精确地管理时间,尤其是在需要处理时区转换和复杂时间计算的场景下...
这个jar包名为Joda-Time,是针对Java标准日期和时间API的一个替代方案,因其强大的功能和易用性而备受赞誉。 Joda-Time库是为了解决Java 8之前内置日期和时间API的不足而诞生的。Java的标准日期类如`Date`和`...
Java 8 中引入了全新的日期和时间API,显著地改进了旧有的`java.util.Date`和`java.util.Calendar`体系,以及诸如JodaTime这样的第三方库。新API的设计旨在提供更强大、更直观且更易使用的功能,同时提高了性能。 ...