http://www.joda.org/joda-time/

任何企业应用程序都需要处理时间问题。应用程序需要知道当前的时间点和下一个时间点,有时它们还必须计算这两个时间点之间的路径。使用 JDK 完成这项任务将非常痛苦和繁琐。现在来看看 Joda Time,一个面向 Java™ 平台的易于使用的开源时间/日期库。正如您在本文中了解的那样,Joda-Time 轻松化解了处理日期和时间的痛苦和繁琐

pom依赖:

<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.4</version>
</dependency>

后续补充

 import org.joda.time.DateTime;

 /**
*/
public class Example2 {
public static final String FORMAT_DATE_WEEK_MS="E MM/dd/yyyy HH:mm:ss.SSS";
public static final String FORMAT_DATE_MS="yyyy/MM/dd HH:mm:ss.SSS";
public static final String FORMAT_DATE_S="yyyy/MM/dd HH:mm:ss";
//按照format格式打印时间
public static void displayDate(DateTime dateTime,String format){
String timeStr=dateTime.toString(format);
System.out.println(timeStr);
}
public static void main(String[] args) {
//一、创建一个时间点
DateTime dateTime1=new DateTime(2016,8,4,19,19,40,12);//年,月,日,时,分,秒,毫秒
displayDate(dateTime1,FORMAT_DATE_MS);
displayDate(dateTime1,FORMAT_DATE_S);
displayDate(dateTime1,FORMAT_DATE_WEEK_MS);
//这种填写参数方法至少填写到小时,否则要填写long型的时间戳
dateTime1=new DateTime(2016,8,4,19,19);
displayDate(dateTime1,FORMAT_DATE_S);
}
}
import org.joda.time.DateTime;
import org.joda.time.Days;
import org.joda.time.LocalDate;
import org.joda.time.Period; import java.util.Locale; /**
*/
public class Example1 {
//DateTime 时间+日期
public static boolean isAfterPayDay(DateTime datetime) {
if (datetime.getMonthOfYear() == 2) { // February is month 2!!
return datetime.getDayOfMonth() > 26;
}
return datetime.getDayOfMonth() > 1;
} public static void isAfterPayDayTest(){
DateTime dateTime=new DateTime(); System.out.println(isAfterPayDay(dateTime));
System.out.println(dateTime.toDate());
}
//LocalDate 日期 没有时间
public static Days daysToNewYear(LocalDate fromDate) {
LocalDate newYear = fromDate.plusYears(1).withDayOfYear(1);
System.out.println(newYear.toDate());
newYear = fromDate.plusYears(1);
System.out.println(newYear.toDate());
return Days.daysBetween(fromDate, newYear);
} public static void daysToNewYearTest()
{
LocalDate date=new LocalDate();
System.out.println(daysToNewYear(date));
} //Period 进行时间加减
public static boolean isRentalOverdue(DateTime datetimeRented) {
Period rentalPeriod = new Period().withDays(2).withHours(12);
System.out.println(datetimeRented);
System.out.println(datetimeRented.toDateTime());
System.out.println(datetimeRented.plus(rentalPeriod).toDateTime());
return datetimeRented.plus(rentalPeriod).isBeforeNow();
} public static void isRentalOverdueTest(){
DateTime dateTime=new DateTime();
System.out.println(isRentalOverdue(dateTime));
} public static String getBirthMonthText(LocalDate dateOfBirth) {
System.out.println(dateOfBirth.monthOfYear().getAsString());
return dateOfBirth.monthOfYear().getAsText(Locale.ENGLISH);
} public static void getBirthMonthTextTest(){
LocalDate date=new LocalDate();
System.out.println(getBirthMonthText(date));
} public static void main(String[] args) {
System.out.println("test1 ******************");
isAfterPayDayTest();
System.out.println("test2 ******************");
daysToNewYearTest();
System.out.println("test3 ******************");
isRentalOverdueTest();
System.out.println("test4 ******************");
getBirthMonthTextTest();
}
}

14 java 日期处理 joda-time的更多相关文章

  1. Java - 14 Java 日期时间

    java.util包提供了Date类来封装当前的日期和时间. Date类提供两个构造函数来实例化Date对象. 第一个构造函数使用当前日期和时间来初始化对象. Date( ) 第二个构造函数接收一个参 ...

  2. JAVA 基础编程练习题14 【程序 14 求日期】

    14 [程序 14 求日期] 题目:输入某年某月某日,判断这一天是这一年的第几天? 程序分析:以 3 月 5 日为例,应该先把前两个月的加起来,然后再加上 5 天即本年的第几天,特殊情况, 闰年且输入 ...

  3. Java 日期处理类库Joda-Time简介

    http://www.ibm.com/developerworks/cn/java/j-jodatime.html 登录 (或注册) 中文 IBM 技术主题 软件下载 社区 技术讲座 搜索 devel ...

  4. 全面解析Java日期时间API

    时区 GMT(Greenwich Mean Time):格林尼治时间,格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时(也就是在格林尼治上空最高点时)的时间. UTC(Universal Time ...

  5. Java日期时间使用总结

    一.Java中的日期概述   日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题.   在J ...

  6. Java日期时间使用(转)

    Java日期时间使用总结 转自:http://lavasoft.blog.51cto.com/62575/52975/   一.Java中的日期概述   日期在Java中是一块非常复杂的内容,对于一个 ...

  7. java日期格式大全 format SimpleDateFormat(转)

    java日期格式大全 format SimpleDateFormat   /**    * 字符串转换为java.util.Date<br>    * 支持格式为 yyyy.MM.dd G ...

  8. java日期详解

    [TOC] 一.简介 java中的日期处理一直是个问题,没有很好的方式去处理,所以才有第三方框架的地位比如joda. 文章主要对java日期处理的详解,用1.8可以不用joda. 1. 相关概念 首先 ...

  9. java日期操作常用工具

    java日期操作常用工具 package com..util; import java.sql.Timestamp; import java.text.SimpleDateFormat; import ...

随机推荐

  1. poj1127 Jack Straws(线段相交+并查集)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Jack Straws Time Limit: 1000MS   Memory L ...

  2. linux下面安装配置LAMP环境

    以centos下面为例.初学者.东西基本都是各个地方找来的.自己手写了一遍.应该印象会很深刻 首先切换到超级管理员模式 1.安装php 一路选择y就行了 安装一些php的扩展 yum -y insta ...

  3. 面向对象重写(override)与重载(overload)区别---转载“竹木人”

    一.重写(override) override是重写(覆盖)了一个方法,以实现不同的功能.一般是用于子类在继承父类时,重写(重新实现)父类中的方法. 重写(覆盖)的规则: 1.重写方法的参数列表必须完 ...

  4. MongoDB资料--Java驱动, Hadoop驱动, Spark使用

    MongoDB数据库备份: mongodump -h 192.168.1.160 -d MapLoc -o /usr/local/myjar/mongo/MapLoc/数据库还原:mongoresto ...

  5. 有时summary的状态和details是否有open属性有关

    用过mac的同学对这个界面一定很熟悉,因为这个界面和我们今天要说的details有很多相近的地方,首先,其有折叠效果,用户可以自己选择打开或关闭哪一个,其次,当我们直接打开的时候,默认会有几个标签是打 ...

  6. 认识 web 服务器端脚本语言 PHP

    ---恢复内容开始--- 变量 定义:定义之后,值可以改变的量.PHP中的变量可以先后赋值为不同类型的值. 语法格式:$变量名 = 值; 常量 定义:常量:一旦声明之后,值就不能再改变的量. 语法格式 ...

  7. 使用Keil软件编写汇编源程序应注意事项

    1)一定要使用微软的txt文本编辑器,否则键入逗号时编译通不过.应该是这个样('),不该是这个样(,). 2) 用数字做标号时,前面一定要加一个英文字母,否则编译通不过. 3) 有时编译通过的.asm ...

  8. IComparer<T> 接口Linq比较接口

    IComparer<T>比较两个对象并返回一个值,指示一个对象是小于.等于还是大于另一个对象. 在Linq当中,很多扩展方法接受一个实现IComparer<T>接口的实例的对象 ...

  9. 深入浅出Node.js (8) - 构建Web应用

    8.1 基础功能 8.1.1 请求方法 8.1.2 路径解析 8.1.3 查询字符串 8.1.4 Cookie 8.1.5 Session 8.1.6 缓存 8.1.7 Basic认证 8.2 数据上 ...

  10. .net常考面试题

    1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. protected : 保护成 ...