Joda Time 使用
最近一直做的几个功能都跟日期处理有关,比如判断今天是否登录,今天的最小时间,今天结束的最大时间等。
代码中都是用的JDK自带的 Calendar,使用起来相当费劲了,于是乎,忍不了,找到了一个名叫:JodaTime 的库,
目前Joda Time 已经纳入 JDK 8 的官方API了,但是JDK 8还是很遥远,下面我给大家演示几个实例:
1、 获取今天的开始时间:比如:2014-06-19 00:00:00
Joda Time |
JDK |
DateTime nowTime = new DateTime(); DateTime startOfDay = nowTime.withTimeAtStartOfDay(); |
Calendar c1 = Calendar.getInstance(); c1.setTimeInMillis(timeInMs); c1.set(Calendar.HOUR_OF_DAY, 0); c1.set(Calendar.MINUTE, 0); c1.set(Calendar.SECOND, 0); c1.set(Calendar.MILLISECOND, 0); return c1.getTimeInMillis(); |
2、 获取今天的结束时间:比如:2014-06-19 23:59:59
Joda Time |
JDK |
DateTime nowTime = new DateTime(); DateTime endOfDay = nowTime.millisOfDay().withMaximumValue(); |
Calendar c1 = Calendar.getInstance(); c1.setTimeInMillis(timeInMs); c1.set(Calendar.HOUR_OF_DAY, 23); c1.set(Calendar.MINUTE, 59); c1.set(Calendar.SECOND, 59); c1.set(Calendar.MILLISECOND, 0); return c1.getTimeInMillis(); |
3、 获取现在距离今天结束还有多长时间
DateTimenowTime = new DateTime();
DateTime endOfDay = nowTime.millisOfDay().withMaximumValue();
endOfDay.getMillis()-nowTime.getMillis()
4、 计算两个日期的相隔天数
Joda Time |
JDK |
DateTime nowTime = new DateTime(); DateTime futureTime = new DateTime(2015, 10, 1, 0, 0, 0); Int days = Days.daysBetween(nowTime, futureTime).getDays(); |
(实现不是很好) public static int getBetweenDay(long startTime, long endTime) { Calendar start = Calendar.getInstance(); start.setTimeInMillis(startTime); Calendar end = Calendar.getInstance(); end.setTimeInMillis(endTime); return (int) ((end.getTimeInMillis() - start.getTimeInMillis()) / 86400000); } |
还有很多比较方便的功能,可以自己去尝试。
推荐文章:http://www.ibm.com/developerworks/cn/java/j-jodatime.html
官方地址:http://www.joda.org/joda-time/
Maven 仓库:
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.3</version>
</dependency>
Joda Time 使用相关推荐
- joda time, jackson 与 scala 反射
1. scala 反射,获得所有 field name 可以直接从 case class 获得 field 而不必创建实例 (get fields of a class without an inst ...
- joda jar日期处理类的学习
转载:http://www.open-open.com/lib/view/open1348032952724.html 任何企业应用程序都需要处理时间问题.应用程序需要知道当前的时间点和下一个时间点, ...
- Java-小技巧-004-jdk时间,jdk8时间,joda,calendar,获取当前时间前一周、前一月、前一年的时间...
1.推荐使用java8 localdate等 线程安全 支持较好 地址 2.joda 一.简述 查看SampleDateFormat源码,叙述有: * Date formats are not syn ...
- java joda 获取utc时间_java – 使用JodaTime以毫秒为单位的UTC到本地时间
我试图使用Jodatime显示特定时间段内的交易. 我们的服务器要求开始日期和结束日期为UTC(这可能是显而易见的).因此,围绕它们的任何业务逻辑都使用DateTime对象,时区设置为DateTime ...
- mysql 无法存储joda time的datetime类型
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '\xAC\xED\x00\x05sr\x ...
- Java日期及时间库插件 -- Joda Time.
转载自 Java日期及时间库插件 -- Joda Time. 来到新公司工作也有一个多月了, 陆陆续续做了一些简单的项目. 今天做一个新东西的时候发现了 Joda Time的这个东西, 因为以前用 ...
- java中算两个时间内的秒数_java – Joda Time – 计算两个日期之间的秒数会引发异常....
我使用以下代码来计算两个日期之间的秒数差异: long secondsBetween = (Seconds.secondsBetween(new LocalDate("1901-01-01& ...
- Java的时间类库joda教程
使用原生Java操作时间是比较麻烦的,比如说简单的创建一个指定时间 String time = "2018-7-3 11:00:00"; SimpleDateFormat sdf ...
- 新的时间处理工具joda
时间处理是在项目中经常用到的,时间处理一共三个, new Date().getYear(); 该方式已经弃用,第二种: calendar,用的最多,但实际用起来并不方便,现在推荐的是第三种: 使用jo ...
- joda DateTimeFormatter simpleDateFormat
转自: https://www.ibm.com/developerworks/cn/java/j-jodatime.html 今天看到一个大牛说道simpleDateFormat不是线程安全的,要换 ...
最新文章
- Android View体系(六)从源码解析Activity的构成
- Linux Shell 命令--cut
- tcp连接 本地端口_Windows开启端口转发功能
- wxWidgets:wxThreadHelper类用法
- php 正则表达式 x,php – 匹配x正则表达式或y正则表达式
- activiti 多部门审批_Activiti 基本介绍
- Tensorflow卷积神经网络
- pytest测试框架(四)---使用pytest-html生成测试报告
- linux 脚本 等待,shell tel脚本中执行等待实现
- c语言如歌输出空字符,沈阳航空航天大学毕业设计(论文).doc
- linux 忘记mysql密码的解决办法
- CSS:输入框input光标距离输入框左边间距设置
- 音频噪声抑制_音频编辑入门指南:基本噪声消除
- 一文读懂机器学习(转)
- Social Influence as Intrinsic Motivation for Multi-Agent Deep Reinforcement Learning-笔记
- cad文件转高清图片jpg格式文件
- 使用AJAX 和php数组两种方式获取LOL英雄信息
- 华云数字实名认证图片_“云联盟华云数字”是云数贸传销组织衍生平台!不要被骗了...
- 如何设置CentOS 7获取动态ip地址
- 云服务器怎么配置cpu与内存搭配