java 8 joda time,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);
}
还有非常多比較方便的功能,能够自己去尝试。
Maven 仓库:
joda-time
joda-time
2.3
java 8 joda time,Joda Time 使用相关推荐
- java.lang.NoClassDefFoundError: org/joda/time/YearMonth
今天在新建一个spring boot项目时,遇到这错: java.lang.NoClassDefFoundError: org/joda/time/YearMonth java.lang.NoClas ...
- Java的时间类库joda教程
使用原生Java操作时间是比较麻烦的,比如说简单的创建一个指定时间 String time = "2018-7-3 11:00:00"; SimpleDateFormat sdf ...
- Java 项目还需要 joda 吗
因为众所周知的原因,老的 Java 中的日期处理是非常不好用但是又不得不用的 API. 而且经常混乱还容易出错,相信大家应该都用过救民于水火的 joda Datetime 对象吧,简直是活菩萨. 时间 ...
- java 计算周_java – Joda时间周计算推理
下面的代码演示了星期计算的有问题的joda-time实现.这种行为不是错误,而是设计决策 Joda-Time uses the ISO standard Monday to Sunday week.( ...
- java joda datetime_关于java:使用Joda将日期转换为DateTime
本问题已经有最佳答案,请猛点这里访问. 是否可以使用Joda将格式为" YYYY-MM-dd"的日期转换为" YYYY-MM-dd HH:mm:ss"? 例如: ...
- joda time, jackson 与 scala 反射
1. scala 反射,获得所有 field name 可以直接从 case class 获得 field 而不必创建实例 (get fields of a class without an inst ...
- java改变变量编码方式_Java 8中的5个功能将改变您的编码方式
java改变变量编码方式 Java 8在JVM和语言级别都包含了一些非常令人兴奋的功能. 尽管最初为该发行版设想的某些功能已扩展到第9版,或已推出第9版,但实际上有数十个新功能. 许多新添加的内容在编 ...
- Java 8中的5个功能将改变您的编码方式
Java 8在JVM和语言级别都包含了一些非常令人兴奋的功能. 虽然最初为该发行版设想的某些功能已扩大范围或已推出到第9版,但实际上有数十个新功能. 许多新添加的内容在编译器,JVM或帮助系统级别都进 ...
- Java 8日期– LocalDate,LocalDateTime,即时
Java 8 Date Time API is one of the most sought after change for developers. Java has been missing a ...
最新文章
- 安装需要的第三方库时,命令行输入pip提示不是内部或外部命令
- 240个jquery插件
- 腾讯优图实验室-计算机视觉(日常实习生招聘)
- SQL Server中的命名规范(个人使用)
- DS18B20 理解与操作源码
- mysql刷新权限1146_MySQL重置root密码,刷新权限表报错ERROR 1146(42S02):Table ‘mysql.servers’ doesn`t exist...
- layui根据条件显示列_templet渲染layui表格数据的三种方式
- 【Android】窗口构成 应用窗口+系统窗口
- 【转】C#各类控件的输入输出(思维导图、知识点分析、案例解析)
- JDK1.8中String类的intern()方法学习
- 基于FPGA的红外遥控解码与PC串口通信
- php 手机屏幕,90hz和60hz手机屏幕差别大吗
- cookie分号后面没有值_Cookie的属性(cookie的设置、获取和删除)
- 在线预览word,excel,ppt
- android源码百度网盘下载(AOSP源码集合)
- window10官方工具在线升级失败,终极解决方案
- matlab设置脚本,MATLAB脚本和功能
- HTTP 请求头 Header
- ORacle异常:ORA-00980:同义词转换不再有效
- 警告 C4819 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失