工作中经常用到java日期类型Date、Calendar或SimpleDateFormat,但是这些日期工具类要么提供了过期的方法(Date),要么就是功能不够强大。最近突然用到了Joda-Time日期工具,发现非常好用,就撰写此文,以便学习和交流。
jodaTime 线程安全的格式化库 引入依赖 <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId
例如,现有的类(例如java.util.Date和SimpleDateFormatter)是非线程安全的,从而导致用户潜在的并发问题,这不是一般开发人员在编写日期处理代码时会期望处理的问题。 一些日期和时间类还表现出相当差的API设计。例如,年份java.util.Date从1900开始,月份从1开始,天从0开始,这不是很直观。
例如,现有的类(例如java.util.Date和SimpleDateFormatter)是非线程安全的,从而导致用户潜在的并发问题,这不是一般开发人员在编写日期处理代码时会期望处理的问题。 一些日期和时间类还表现出相当差的API设计。例如,年份java.util.Date从1900开始,月份从1开始,天从0开始,这不是很直观。
8、JodaTime时间处理类库 项目开发中经常遇到日期需要加一天、减一天的情况。使用JodaTime可 以非常方便实现我们的需求。 JodaTime官网:https://www.joda.org/joda-time/ 9、HTML解析类库 编写爬虫少不了要解析HTML格式的数据,这时HTML类型就派送用场了。
<swagger.version>2.7.0</swagger.version> <aliyun.oss.version>2.8.3</aliyun.oss.version> <jodatime.version >2.10.1</jodatime.version> <poi.version>3.17</poi.version> <commons-fileupload.version>1.3.1< <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>${jodatime.version
首先引入jodatime jar <dependency> <groupId>joda-timegroupId> <artifactId>joda-timeartifactId>
swagger.version>2.7.0</swagger.version> <aliyun.oss.version>2.8.3</aliyun.oss.version> <jodatime.version >2.10.1</jodatime.version> <poi.version>3.17</poi.version> <commons-fileupload.version> groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>${jodatime.version
Joda-Time 2.jodaTime 的使用说明 3.强大易用的日期和时间库 Joda Time
很多开发人员会选择更好用的JodaTime类库。 但是在Java8推出之后,我们就可以彻底放弃JodaTime了,因为Java 8提供了其所有功能。 但是,如果你的代码运行在一个低版本的JDK中,那么JodaTime还是值得使用的。 十三、集合类库 虽然JDK有丰富的集合类,但还是有很多第三方类库可以提供更多更好的功能。
许多开发者都喜欢使用JodaTime类库。 但在java8发布后,我们将完全放弃JodaTime,因为Java8提供了所有的功能。 然而,如果您的代码是在低端版本的JDK上运行,那么JodaTime仍然值得使用。 十三,收集类库。 尽管JDK拥有丰富的集合类,但是仍然有许多第三方类库能够提供更好的功能。
nowTime.millisOfDay().withMaximumValue(); endOfDay.getMillis()-nowTime.getMillis() 4、 计算两个日期的相隔天数 JodaTime http://persevere.iteye.com/blog/1755237 Joda-Time 简介 https://www.ibm.com/developerworks/cn/java/j-jodatime.html
4.3.3</aliyun-java-sdk-core.version> <aliyun-sdk-oss.version>3.10.2</aliyun-sdk-oss.version> <jodatime.version >2.10.1</jodatime.version> <jwt.version>0.7.0</jwt.version> <httpclient.version>4.5.1</httpclient.version <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>${jodatime.version
System.out.println("日期:" + myLocalDate); System.out.println("时间:" + myLocalTime); } } 如果作为JodaTime 三、JodaTime组件 在Java8之前JodaTime组件是大部分系统中的常见选择,有很多方便好用的日期与时间的处理方法封装。
easyexcel.version> <aliyun.version>4.1.1</aliyun.version> <oss.version>3.9.1</oss.version> <jodatime.version >2.10.1</jodatime.version> </properties> <! groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>${jodatime.version
很多开发人员会选择更好用的 JodaTime 类库。 但是在Java8推出之后,我们就可以彻底放弃JodaTime了,因为Java 8提供了其所有功能。 但是,如果你的代码运行在一个低版本的JDK中,那么JodaTime还是值得使用的。 十三、集合类库 虽然JDK有丰富的集合类,但还是有很多第三方类库可以提供更多更好的功能。
很多开发人员会选择更好用的 JodaTime 类库。 ? 但是在Java8推出之后,我们就可以彻底放弃JodaTime了,因为Java 8提供了其所有功能。 但是,如果你的代码运行在一个低版本的JDK中,那么JodaTime还是值得使用的。 十三、集合类库 虽然JDK有丰富的集合类,但还是有很多第三方类库可以提供更多更好的功能。
= "2011-12-03T10:15:30" val localDateTime = LocalDateTime.parse(localDateTimeString) 对比另外一个处理时间日期的库 JodaTime 不过如果你的项目已经在使用JodaTime,不建议换到ThreeTen,如果是新项目的haul,强烈建议使用ThreeTen。 Timber Timber是一个基于Andorid Log的log库。
ex.getStatus()).body(new ExceptionResult(ex)); } } 自定义异常结果 上面两步骤,根据不是特别好,可以来一个 自定义异常结果类 我这个结果类里用到了日期工具类:JodaTime
如果需要JodaTime等支持,引入相应AssertJ扩展即可。由于AssertJ使用确实很简单,所以我感觉没什么写的了。有需要的话看看它的官网上的文档即可。