- 浏览: 183762 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (361)
- MySQL (27)
- dubbo (1)
- 网页模板 (3)
- 微信公众号 (6)
- Web工具 (7)
- Java (46)
- CSS (6)
- SQL (2)
- 数据库 (2)
- 其他 (12)
- Oracle (9)
- Tomcat (15)
- 技巧 (3)
- 基础 (4)
- 工作流 (1)
- js (25)
- maven (9)
- 异常问题 (1)
- 新知识 (5)
- PS (11)
- bootstrap (1)
- 开源框架 (5)
- 计算机网络 (1)
- MongoDB (1)
- HTML (3)
- sqlite (1)
- 微信 (3)
- Web组件 (4)
- jquery (1)
- hadoop (1)
- Redis (1)
- A_Windows常用快捷键 (3)
- eclipse (10)
- jetty (1)
- RESTEasy (1)
- Jersey (1)
- SVN (2)
- ubuntu (6)
- zookeeper (1)
- SpringMVC (7)
- 手册 (1)
- Apache ant (5)
- JBPM (1)
- activiti (3)
- Solr (1)
- EJB (1)
- 图片素材 (2)
- JSF (1)
- jboss (3)
- Android (32)
- WeX5 (1)
- 百度地图 (1)
- 电路设计 (1)
- excel (2)
- Web服务器应用服务器 (1)
- CXF (1)
- github (4)
- C# (1)
- Shiro (1)
- Lucene (1)
- Quartz (1)
- Linux (5)
- Smart Framework (1)
- JPA (6)
- 微信JS-SDK (1)
- RESTful (1)
- springboot (1)
- 文章 (2)
- springcloud (1)
- Eureka (1)
- drools (1)
- hibernate (3)
- IIC (1)
- 不错的博客 (1)
- 电脑操作系统问题 (1)
- JVM (1)
- excel操作工具 (0)
- 报表工具 (1)
- mail (1)
- apache (2)
- nginx (2)
- UML (1)
- 原型设计 (1)
- 消息队列框架 (1)
- DataTables (1)
- Mybatis (1)
- JFINAL (1)
- layer (1)
- MariaDB (1)
- NPM (1)
- LOG4J (2)
- 未知 (2)
- 正则表达式 (1)
最新评论
maven依赖:
官方地址:http://www.joda.org/joda-time/
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.2</version>
</dependency>
package com.date;
import java.text.ParseException;
import java.util.Date;
import org.joda.time.DateTime;
import org.joda.time.DateTimeConstants;
import org.joda.time.DateTimeZone;
import org.joda.time.Days;
import org.joda.time.Duration;
import org.joda.time.Hours;
import org.joda.time.Interval;
import org.joda.time.LocalDate;
import org.joda.time.LocalTime;
import org.joda.time.Minutes;
import org.joda.time.Period;
import org.joda.time.PeriodType;
import org.joda.time.Seconds;
import org.junit.Test;
public class JodaTimeTest {
@Test
// 计算时间差
public void test1() throws ParseException {
DateTime dt1 = new DateTime(2016, 2, 14, 16, 0, 0, 0);
DateTime dt2 = new DateTime(2016, 2, 15, 16, 0, 0, 0);
System.out.print("时间相差:");
System.out.print(Days.daysBetween(dt1, dt2).getDays() + " 天 ");
System.out.print(Hours.hoursBetween(dt1, dt2).getHours() % 24 + " 小时 ");
System.out.print(Minutes.minutesBetween(dt1, dt2).getMinutes() % 60
+ " 分钟 ");
System.out.print(Seconds.secondsBetween(dt1, dt2).getSeconds() % 60
+ " 秒.");
System.out.println();
}
@Test
// Interval计算时间差值
public void test2() {
DateTime dt1 = new DateTime(2016, 2, 14, 16, 0, 0, 0);
DateTime dt2 = new DateTime(2016, 2, 15, 16, 0, 0, 0);
Interval interval = new Interval(dt1.getMillis(), dt2.getMillis());
Period p = interval.toPeriod();
System.out.println("时间相差:" + p.getDays() + " 天 " + p.getHours()
+ " 小时 " + p.getMinutes() + " 分钟" + p.getSeconds() + " 秒");
}
@Test
// 日期前后推算
public void test3() {
DateTime dt = new DateTime();
// 昨天
DateTime yesterday = dt.minusDays(1);
// 明天
DateTime tomorrow = dt.plusDays(1);
// 1个月前
DateTime before1month = dt.minusMonths(1);
// 3个月后
DateTime after3month = dt.plusMonths(3);
// 2年前
DateTime before2year = dt.minusYears(2);
// 5年后
DateTime after5year = dt.plusYears(5);
}
@Test
// 构造函数
public void test4() {
// 方法一:取系统点间
DateTime dt1 = new DateTime();
// 方法二:通过java.util.Date对象生成
DateTime dt2 = new DateTime(new Date());
// 方法三:指定年月日点分秒生成(参数依次是:年,月,日,时,分,秒,毫秒)
DateTime dt3 = new DateTime(2012, 5, 20, 13, 14, 0, 0);
// 方法四:ISO8601形式生成
DateTime dt4 = new DateTime("2012-05-20");
DateTime dt5 = new DateTime("2012-05-20T13:14:00");
// 只需要年月日的时候
LocalDate localDate = new LocalDate(2016, 9, 6);// September 6, 2009
// 只需要时分秒毫秒的时候
LocalTime localTime = new LocalTime(13, 30, 26, 0);// 1:30:26PM
}
@Test
// 获取年月日星期,点分秒,毫秒
public void test5() {
DateTime dt = new DateTime();
// 年
int year = dt.getYear();
// 月
int month = dt.getMonthOfYear();
// 日
int day = dt.getDayOfMonth();
// 星期
int week = dt.getDayOfWeek();
// 点
int hour = dt.getHourOfDay();
// 分
int min = dt.getMinuteOfHour();
// 秒
int sec = dt.getSecondOfMinute();
// 毫秒
int msec = dt.getMillisOfSecond();
}
@Test
// 星期的特殊处理
public void test6() {
DateTime dt = new DateTime();
// 星期
switch (dt.getDayOfWeek()) {
case DateTimeConstants.SUNDAY:
System.out.println("星期日");
break;
case DateTimeConstants.MONDAY:
System.out.println("星期一");
break;
case DateTimeConstants.TUESDAY:
System.out.println("星期二");
break;
case DateTimeConstants.WEDNESDAY:
System.out.println("星期三");
break;
case DateTimeConstants.THURSDAY:
System.out.println("星期四");
break;
case DateTimeConstants.FRIDAY:
System.out.println("星期五");
break;
case DateTimeConstants.SATURDAY:
System.out.println("星期六");
break;
}
}
@Test
// 取特殊日期
public void test7() {
DateTime dt = new DateTime();
// 月末日期
DateTime lastday = dt.dayOfMonth().withMaximumValue();
// 90天后那周的周一
DateTime firstday = dt.plusDays(90).dayOfWeek().withMinimumValue();
}
@Test
// 时区
public void test8() {
// 默认设置为日本时间
DateTimeZone.setDefault(DateTimeZone.forID("Asia/Tokyo"));
DateTime dt1 = new DateTime();
// 伦敦时间
DateTime dt2 = new DateTime(DateTimeZone.forID("Europe/London"));
}
@Test
// 计算区间
public void test9() {
DateTime begin = new DateTime("2012-02-01");
DateTime end = new DateTime("2012-05-01");
// 计算区间毫秒数
Duration d = new Duration(begin, end);
long time = d.getMillis();
// 计算区间天数
Period p = new Period(begin, end, PeriodType.days());
int days = p.getDays();
// 计算特定日期是否在该区间内
Interval i = new Interval(begin, end);
boolean contained = i.contains(new DateTime("2012-03-01"));
}
@Test
// 计算区间
public void test10() {
DateTime d1 = new DateTime("2012-02-01");
DateTime d2 = new DateTime("2012-05-01");
// 和系统时间比
boolean b1 = d1.isAfterNow();
boolean b2 = d1.isBeforeNow();
boolean b3 = d1.isEqualNow();
// 和其他日期比
boolean f1 = d1.isAfter(d2);
boolean f2 = d1.isBefore(d2);
boolean f3 = d1.isEqual(d2);
}
@Test
// 格式化输出
public void test11() {
DateTime dateTime = new DateTime();
String s1 = dateTime.toString("yyyy/MM/dd hh:mm:ss.SSSa");
String s2 = dateTime.toString("yyyy-MM-dd HH:mm:ss");
String s3 = dateTime.toString("EEEE dd MMMM, yyyy HH:mm:ssa");
String s4 = dateTime.toString("yyyy/MM/dd HH:mm ZZZZ");
String s5 = dateTime.toString("yyyy/MM/dd HH:mm Z");
}
}
官方地址:http://www.joda.org/joda-time/
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.2</version>
</dependency>
package com.date;
import java.text.ParseException;
import java.util.Date;
import org.joda.time.DateTime;
import org.joda.time.DateTimeConstants;
import org.joda.time.DateTimeZone;
import org.joda.time.Days;
import org.joda.time.Duration;
import org.joda.time.Hours;
import org.joda.time.Interval;
import org.joda.time.LocalDate;
import org.joda.time.LocalTime;
import org.joda.time.Minutes;
import org.joda.time.Period;
import org.joda.time.PeriodType;
import org.joda.time.Seconds;
import org.junit.Test;
public class JodaTimeTest {
@Test
// 计算时间差
public void test1() throws ParseException {
DateTime dt1 = new DateTime(2016, 2, 14, 16, 0, 0, 0);
DateTime dt2 = new DateTime(2016, 2, 15, 16, 0, 0, 0);
System.out.print("时间相差:");
System.out.print(Days.daysBetween(dt1, dt2).getDays() + " 天 ");
System.out.print(Hours.hoursBetween(dt1, dt2).getHours() % 24 + " 小时 ");
System.out.print(Minutes.minutesBetween(dt1, dt2).getMinutes() % 60
+ " 分钟 ");
System.out.print(Seconds.secondsBetween(dt1, dt2).getSeconds() % 60
+ " 秒.");
System.out.println();
}
@Test
// Interval计算时间差值
public void test2() {
DateTime dt1 = new DateTime(2016, 2, 14, 16, 0, 0, 0);
DateTime dt2 = new DateTime(2016, 2, 15, 16, 0, 0, 0);
Interval interval = new Interval(dt1.getMillis(), dt2.getMillis());
Period p = interval.toPeriod();
System.out.println("时间相差:" + p.getDays() + " 天 " + p.getHours()
+ " 小时 " + p.getMinutes() + " 分钟" + p.getSeconds() + " 秒");
}
@Test
// 日期前后推算
public void test3() {
DateTime dt = new DateTime();
// 昨天
DateTime yesterday = dt.minusDays(1);
// 明天
DateTime tomorrow = dt.plusDays(1);
// 1个月前
DateTime before1month = dt.minusMonths(1);
// 3个月后
DateTime after3month = dt.plusMonths(3);
// 2年前
DateTime before2year = dt.minusYears(2);
// 5年后
DateTime after5year = dt.plusYears(5);
}
@Test
// 构造函数
public void test4() {
// 方法一:取系统点间
DateTime dt1 = new DateTime();
// 方法二:通过java.util.Date对象生成
DateTime dt2 = new DateTime(new Date());
// 方法三:指定年月日点分秒生成(参数依次是:年,月,日,时,分,秒,毫秒)
DateTime dt3 = new DateTime(2012, 5, 20, 13, 14, 0, 0);
// 方法四:ISO8601形式生成
DateTime dt4 = new DateTime("2012-05-20");
DateTime dt5 = new DateTime("2012-05-20T13:14:00");
// 只需要年月日的时候
LocalDate localDate = new LocalDate(2016, 9, 6);// September 6, 2009
// 只需要时分秒毫秒的时候
LocalTime localTime = new LocalTime(13, 30, 26, 0);// 1:30:26PM
}
@Test
// 获取年月日星期,点分秒,毫秒
public void test5() {
DateTime dt = new DateTime();
// 年
int year = dt.getYear();
// 月
int month = dt.getMonthOfYear();
// 日
int day = dt.getDayOfMonth();
// 星期
int week = dt.getDayOfWeek();
// 点
int hour = dt.getHourOfDay();
// 分
int min = dt.getMinuteOfHour();
// 秒
int sec = dt.getSecondOfMinute();
// 毫秒
int msec = dt.getMillisOfSecond();
}
@Test
// 星期的特殊处理
public void test6() {
DateTime dt = new DateTime();
// 星期
switch (dt.getDayOfWeek()) {
case DateTimeConstants.SUNDAY:
System.out.println("星期日");
break;
case DateTimeConstants.MONDAY:
System.out.println("星期一");
break;
case DateTimeConstants.TUESDAY:
System.out.println("星期二");
break;
case DateTimeConstants.WEDNESDAY:
System.out.println("星期三");
break;
case DateTimeConstants.THURSDAY:
System.out.println("星期四");
break;
case DateTimeConstants.FRIDAY:
System.out.println("星期五");
break;
case DateTimeConstants.SATURDAY:
System.out.println("星期六");
break;
}
}
@Test
// 取特殊日期
public void test7() {
DateTime dt = new DateTime();
// 月末日期
DateTime lastday = dt.dayOfMonth().withMaximumValue();
// 90天后那周的周一
DateTime firstday = dt.plusDays(90).dayOfWeek().withMinimumValue();
}
@Test
// 时区
public void test8() {
// 默认设置为日本时间
DateTimeZone.setDefault(DateTimeZone.forID("Asia/Tokyo"));
DateTime dt1 = new DateTime();
// 伦敦时间
DateTime dt2 = new DateTime(DateTimeZone.forID("Europe/London"));
}
@Test
// 计算区间
public void test9() {
DateTime begin = new DateTime("2012-02-01");
DateTime end = new DateTime("2012-05-01");
// 计算区间毫秒数
Duration d = new Duration(begin, end);
long time = d.getMillis();
// 计算区间天数
Period p = new Period(begin, end, PeriodType.days());
int days = p.getDays();
// 计算特定日期是否在该区间内
Interval i = new Interval(begin, end);
boolean contained = i.contains(new DateTime("2012-03-01"));
}
@Test
// 计算区间
public void test10() {
DateTime d1 = new DateTime("2012-02-01");
DateTime d2 = new DateTime("2012-05-01");
// 和系统时间比
boolean b1 = d1.isAfterNow();
boolean b2 = d1.isBeforeNow();
boolean b3 = d1.isEqualNow();
// 和其他日期比
boolean f1 = d1.isAfter(d2);
boolean f2 = d1.isBefore(d2);
boolean f3 = d1.isEqual(d2);
}
@Test
// 格式化输出
public void test11() {
DateTime dateTime = new DateTime();
String s1 = dateTime.toString("yyyy/MM/dd hh:mm:ss.SSSa");
String s2 = dateTime.toString("yyyy-MM-dd HH:mm:ss");
String s3 = dateTime.toString("EEEE dd MMMM, yyyy HH:mm:ssa");
String s4 = dateTime.toString("yyyy/MM/dd HH:mm ZZZZ");
String s5 = dateTime.toString("yyyy/MM/dd HH:mm Z");
}
}
发表评论
-
跨域问题:解决跨域的三种方案
2018-01-22 13:37 637https://www.cnblogs.com/itmacy ... -
设置工程环境变量动态读取资源文件
2018-01-15 14:51 404http://blog.csdn.net/peaceforev ... -
Java读取资源文件的5种方法
2017-08-31 16:53 500https://www.cnblogs.com/EasonJi ... -
Hibernate 执行原始SQL语句
2017-08-29 17:32 351http://blog.csdn.net/xumengxing ... -
Java中执行存储过程和函数
2017-08-29 17:30 901http://www.cnblogs.com/Zengc-33 ... -
java实现给图片添加水印
2017-08-29 13:36 1619http://blog.csdn.net/zengshunya ... -
J2EE
2017-07-20 23:42 344现在就知道J2EE是做什么的了吧 首先java它对开发基于We ... -
HttpClient JSON参数请求
2017-05-26 16:36 434https://www.iteblog.com/archive ... -
HttpClient设置超时、中文乱码
2017-05-25 14:43 339HttpClient设置超时 http://blog.csdn ... -
阿里巴巴的FastJSON解析JSON例子,超级好用。
2017-05-05 09:40 1420http://blog.csdn.net/dwzjs/art ... -
java获取当前路径的几种方法
2017-04-26 10:36 3801、利用System.getProperty()函数获取当前路 ... -
Java中如何遍历Map对象的4种方法
2017-04-26 09:15 341http://blog.csdn.net/tjcyjd/art ... -
JDK、JRE、JVM三者间的关系
2017-04-24 09:04 527JDK、JRE、JVM三者间的关系 http://pla ... -
JVM性能调优
2017-04-24 08:59 373JVM性能调优 http://www.zuidaima.com ... -
基于springMVC+springSecurity3.x+Mybaits3.x的权限系统
2017-04-21 16:58 399http://www.open-open.com/lib/vi ... -
JVM的内部组成
2017-04-11 11:02 367http://blog.csdn.net/wuwenxiang ... -
Lombok
2017-04-11 10:49 366在写Java程序的时候经常会遇到如下情形: 新建了一个Cla ... -
Java 8新特性
2017-04-10 15:39 297Java 8新特性终极指南 JDK8 十大新特性详 ... -
Java 7 新的 try-with-resources 语句,自动资源释放
2017-04-10 15:05 357http://blog.csdn.net/lzm ... -
JDK1.7的新特性
2017-04-10 14:15 407JDK1.7的新特性 http://blog.csdn.net ...
相关推荐
Joda-Time是一款开源的Java日期和时间处理库,由Stephen Colebourne创建,旨在替换Java SE 1.4及之前的日期时间API。它提供了一个更强大、更灵活的框架,便于处理复杂的日期、时间、时区问题。Joda-Time 2.5是其一个...
Joda-Money可以与其他Java库如Joda-Time(日期时间处理)配合使用,为金融应用提供完整的解决方案。例如,结合两者可以轻松计算跨越多个日期的利息。 ### 9. 最新版本特性 在JodaOrg-joda-money-bb2d8c0这个版本中...
综上所述,"joda-time-2.4-dist.zip"可能是在准备一个大数据处理环境时,为了增强日期时间处理能力而包含的库。它与Hadoop和Hive一起,构成了处理和分析大量时间序列数据的工具链。了解并熟练掌握这些技术,对于从事...
结合这些知识点,"sfm-converter-joda-time-3.0.b1.zip"可能是将Joda-Time日期和时间数据转换为LAPPS Grid兼容格式的工具,其源代码存在于"org.lappsgrid.discriminator-master"目录下,遵循开源原则,允许开发者...
2. `joda-time.jar`:Joda-Time是Java的一个日期和时间处理库,它提供了比Java内置的`java.util.Date`和`Calendar`类更强大和灵活的功能。在Spark中,Joda-Time可能用于处理和解析时间序列数据,或者在处理涉及日期...
predprey-1.1.2.zip”和描述“composite-joda-time-hibernate.zip,标准jodatime hibernate依赖项的集合”揭示了两个不同的IT知识点,一个是关于生态模拟软件,另一个是关于Java日期时间处理与Hibernate集成的开源库...
《Spring Data Hadoop 1.0.1.RELEASE与Joda-Time: 秒表对象的使用及开源项目解析》 Spring Data Hadoop是Spring框架的一部分,它为开发人员提供了一种简单的方式来使用Hadoop生态系统的组件,如HDFS、MapReduce和...
从压缩包子文件的文件名称"scala-time-master"来看,这可能包含了Scala-Time项目的主分支源代码。通常,"master"分支代表了项目的主线开发,包含了最新的稳定代码。 详细来说,Thucydides JBehave插件的主要知识点...
【描述】"ph-datetime.zip,基于joda时间的java日期时间库基于joda时间的java日期时间库" 描述的是一个与 Joda-Time 相关的 Java 日期和时间处理库。Joda-Time 是 Java 8 之前的日期时间处理标准,它提供了一种更强大...
总结起来,"java test jars"这个主题涵盖了Java开发中的核心测试工具,包括单元测试框架JUnit及其扩展,时间处理库Joda-Time,日志库Log4j,以及Java标准库的某些部分。这些工具的使用能够提高代码质量,降低缺陷率...
在压缩包中的"nscala-time-master"可能是指nscala-time项目的源代码仓库,通常包含项目的所有源代码、测试、文档和构建脚本。如果你解压并克隆这个仓库,你可以看到项目的结构,了解其内部实现,甚至可以根据自己的...
1. joda-time-1.6.jar:这是一个时间日期处理库,Joda-Time,它提供了比Java内置日期时间类更强大和灵活的功能。在Funambol中,可能被用作日期和时间的处理。 2. funambol-android-pim.jar:这是Funambol为Android...
· joda-time-2.3-dist.zip · jfreechart-1.0.13-javadocs.zip · jfreechart-1.0.13.zip · jdom-1.1.zip · javamail-1_4_1.zip · jakarta-taglibs-standard-1.1.2-src.zip · jakarta-taglibs-...
在Java开发中,Spring框架是广泛应用的开源框架,它提供了丰富的功能,包括但不限于依赖注入、AOP(面向切面编程)、MVC等。而在企业级应用中,定时任务是不可或缺的一部分,例如数据备份、报表生成、邮件发送等。...
6. `joda-time-2.1.jar`: Joda-Time是Java日期和时间处理的库,提供更强大的功能和更好的API。Activiti可能使用它来处理与日期和时间相关的业务逻辑。 7. `jackson-mapper-asl-1.9.9-sources.jar`: Jackson是JSON...
- `Joda-Time`:Java 8之前的流行日期时间库,已被许多项目广泛采用。 - `SLF4J`和`Logback`:日志记录框架,提供灵活的日志配置和多种日志实现的适配。 - `Jackson`和`Gson`:JSON序列化和反序列化库,将Java...
1. **msm-joda-time-2.9.2.jar**: 包含Joda-Time库,它是一个强大的日期和时间处理库,可能用于处理会话的过期时间。 2. **msm-xstream-1.4.7.jar**: 提供XStream库,这是一个XML序列化库,可能作为另一种序列化...