14 java 日期处理 joda-time
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的更多相关文章
- Java - 14 Java 日期时间
java.util包提供了Date类来封装当前的日期和时间. Date类提供两个构造函数来实例化Date对象. 第一个构造函数使用当前日期和时间来初始化对象. Date( ) 第二个构造函数接收一个参 ...
- JAVA 基础编程练习题14 【程序 14 求日期】
14 [程序 14 求日期] 题目:输入某年某月某日,判断这一天是这一年的第几天? 程序分析:以 3 月 5 日为例,应该先把前两个月的加起来,然后再加上 5 天即本年的第几天,特殊情况, 闰年且输入 ...
- Java 日期处理类库Joda-Time简介
http://www.ibm.com/developerworks/cn/java/j-jodatime.html 登录 (或注册) 中文 IBM 技术主题 软件下载 社区 技术讲座 搜索 devel ...
- 全面解析Java日期时间API
时区 GMT(Greenwich Mean Time):格林尼治时间,格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时(也就是在格林尼治上空最高点时)的时间. UTC(Universal Time ...
- Java日期时间使用总结
一.Java中的日期概述 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题. 在J ...
- Java日期时间使用(转)
Java日期时间使用总结 转自:http://lavasoft.blog.51cto.com/62575/52975/ 一.Java中的日期概述 日期在Java中是一块非常复杂的内容,对于一个 ...
- java日期格式大全 format SimpleDateFormat(转)
java日期格式大全 format SimpleDateFormat /** * 字符串转换为java.util.Date<br> * 支持格式为 yyyy.MM.dd G ...
- java日期详解
[TOC] 一.简介 java中的日期处理一直是个问题,没有很好的方式去处理,所以才有第三方框架的地位比如joda. 文章主要对java日期处理的详解,用1.8可以不用joda. 1. 相关概念 首先 ...
- java日期操作常用工具
java日期操作常用工具 package com..util; import java.sql.Timestamp; import java.text.SimpleDateFormat; import ...
随机推荐
- 截取字符串 substring substr slice
截取字符串 substring 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引 参数 描述 start ...
- DOM 添加 / 更新 / 删除 XML (CURD)
获得Document /** * 获取文档 * 1.获得实例工厂 * 2.获得解析器 * 3.获得document */ 添加结点 /** * 1.获得 ...
- MongoDB 介绍及Windows下安装
一.MongoDB简介 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.它在许多场景下可用于替代传统的关系型数据库或键/值存储方式.Mongo使用C++ ...
- pyqt5和qt-designer结合
在ubuntu中我们安装了python3-pyqt5这个包后就可以用pyqt5编程了,但是只能用纯代码写窗体,很麻烦.我们要用qt-designer来设计窗体. 我们通过新立得安装qt4-design ...
- C语言之链表————(转载)
#include <stdio.h>#include <malloc.h>#define LEN sizeof(struct student) /*-------------- ...
- Visual Studio express
之前一直没用过Visual Studio的express版本.在最近一段时间,使用VS2010和2012的破解版都有点问题.vs2010突然不能使用,需要重新安装,家里和单位两台电脑都如此.家里一台电 ...
- 摘录 javescript 常用函数
- 注册nodejs程序为windows服务
转载地址:http://www.grati.org/?p=236 应lemonhall要求,写一篇在windows中部署nodejs程序的文章,并提供了how to node上 “deploying- ...
- Linux下查看文件夹或目录大小
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择. df可以查看一级文件夹大小.使用比例.档案系统及其挂入点,但对文件却无能为力. du可以查看文件及文件夹的大小.d ...
- 2015第24周一Spring事务
1. Spring事务管理简介 (1)Spring为多种不同类型的事务管理机制提供统一编程模型,这些事务管理模型包括JTA.JDBC.Hibernate.JPA和JDO. (2)Spring支持声明式 ...