Joda-Time包基础应用
1 Joda-Time简介
Joda-Time是一个面向Java应用程序的日期/时间库的替代选择。它令时间和日期值变得易于管理、操作和理解。
- 替代Calendar类,简化日期时间操作。
- 格式化输出日期时间。
- Joda-Time与JDK之间百分百实现可互操作。
官网地址: https://www.joda.org/joda-time/
2 Joda-Time使用
2.1 引入jar包
<!-- 引入Joda-Time日期时间操作jar -->
<dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>2.10.5</version>
</dependency>
2.2 Instant类(瞬时时间点)
- 用来表示一个事件发生的时间戳。
- 该类使用1970-01-01 00:00:00开始到未来某一刻的毫秒总数。
- 与所使用的日历系统或所在的时区无关。
2.2.1 获取当前时间戳
//获取设置为当前系统毫秒时间的Instant对象
Instant instant = Instant.now();
//获取Instant对象的瞬时的毫秒数
System.out.println("当前时间戳:" + instant.getMillis());
2.2.2 获取当前时间前后十分钟时间戳(加减)
Instant instant = Instant.now();
//当前时间前10分钟时间戳
long beforeMillis = instant.minus(10 * 60 * 1000).getMillis();
System.out.println("前十分钟时间戳:" + beforeMillis);
//当前时间后10分钟时间戳
long afterMillis = instant.plus(10 * 60 * 1000).getMillis();
System.out.println("后十分钟时间戳:" + afterMillis);
2.2.3 获取指定时间戳时间
//获取指定时间戳的时间
Instant instant = Instant.ofEpochMilli(System.currentTimeMillis() - 10 * 6 * 1000);
System.out.println("当前时间前十分钟:" + instant.toString());
2.2.4 获取输入字符串日期值
String datetime = "2020-06-15";
Instant instant = Instant.parse(datetime, DateTimeFormat.forPattern("yyyy-MM-dd"));
System.out.println("获取时间值:" + instant.toDate());
2.2.5 判断俩日期值大小
String datetime = "2020-06-15";
Instant instant = Instant.parse(datetime, DateTimeFormat.forPattern("yyyy-MM-dd"));
//判断输入日期是否在当前日期之后
boolean flag1 = instant.isAfter(Instant.now());
//判断输入日期是否在当前日期之前
boolean flag2 = instant.isBefore(Instant.now());
System.out.println(flag1);
System.out.println(flag2);
2.3 DateTime类(处理日期时间)
- 用来处理日期时间的一些操作。
2.3.1 获取时间的相关信息
//初始化当前系统时间
DateTime dateTime =new DateTime();
//当前年份
int year = dateTime.getYear();
//当前月份
int month = dateTime.getMonthOfYear();
//当前月多少号
int day = dateTime.getDayOfMonth();
//当前小时
int hour = dateTime.getHourOfDay();
//当前分钟
int minute = dateTime.getMinuteOfHour();
//当前秒
int second = dateTime.getSecondOfMinute();System.out.println("year = " + year);
System.out.println("month = " + month);
System.out.println("day = " + day);
System.out.println("hour = " + hour);
System.out.println("minute = " + minute);
System.out.println("second = " + second);
2.3.2 时间加减操作
//初始化当前系统时间
DateTime dateTime =new DateTime();
//当前日期上一年日期
DateTime beforeYear = dateTime.minusYears(1);
//当前日期后一年日期
DateTime lastYear = dateTime.plusYears(1);
//当前日期上个月日期
DateTime beforeMonth = dateTime.minusMonths(1);
//当前日期下个月日期
DateTime lastMonth = dateTime.plusMonths(1);
//当前日期前天日期
DateTime beforeDay = dateTime.minusDays(1);
//当前日期明天日期
DateTime lastDay = dateTime.plusDays(1);
//指定格式输出日期字符串
System.out.println("beforeYear = " + beforeYear.toString("yyyy-MM-dd"));
System.out.println("lastYear = " + lastYear.toString("yyyy-MM-dd"));
System.out.println("beforeMonth = " + beforeMonth.toString("yyyy-MM-dd"));
System.out.println("lastMonth = " + lastMonth.toString("yyyy-MM-dd"));
System.out.println("beforeDay = " + beforeDay.toString("yyyy-MM-dd"));
System.out.println("lastDay = " + lastDay.toString("yyyy-MM-dd"));
- plusXXX:表示日期值加操作
- minusXXX:表示日期值减操作
2.3.3 设置日期时间操作
//初始化当前系统时间
DateTime dateTime =new DateTime();
//设置年月日
DateTime dateTime1 = dateTime.withDate(2019, 5, 12);
//设置年
DateTime dateTime2 = dateTime.withYear(2018);System.out.println("dateTime1 = " + dateTime1.toString("yyyy-MM-dd"));
System.out.println("dateTime2 = " + dateTime2.toString("yyyy-MM-dd"));
- withXXX:设置对应的时间日期
注:LocalDate LocalTime LocalDateTime 和 DateTime方法类似。
Joda-Time包基础应用相关推荐
- 数据挖掘课程笔记6 : Numpy、Pandas和Matplotlib包基础知识
#2018-03-22 10:23:16 March Thursday the 12 week, the 081 day SZ SSMR http://blog.csdn.net/eastmount/ ...
- Python基础16-模块与包基础01
目录 初识模块和包 Python常用的内置模块 关键字import和from import.from查找的路径 如何调用 __name__与模块执行 __name__的用法(单元测试) 初识模块和包 ...
- Python基础17-模块与包基础02、常用模块之time、random
目录 名字冲突与避免 设置BASE_DIR保证程序能找到模块位置 time random 名字冲突与避免 在test.py里写下面一段代码,用正则表达式包re进行匹配,匹配出123开头的字符.如果我们 ...
- 【Python数据挖掘课程】六.Numpy、Pandas和Matplotlib包基础知识
前面几篇文章采用的案例的方法进行介绍的,这篇文章主要介绍Python常用的扩展包,同时结合数据挖掘相关知识介绍该包具体的用法,主要介绍Numpy.Pandas和Matplotlib三个包.目录: ...
- R语言爬虫之rvest包——基础详细介绍+示例
为什么要学习R语言 都说Python爬虫功能强大,其实遇到动态加载或者登陆网站Python还是很困难,对于大部分的一些普通爬虫,R语言还是很方便.这里介绍R语言rvest包爬虫,主要用到函数:read ...
- 网卡收包基础: 中断-轮询-ring buffer-DMA-NAPI
参考链接: NAPL模式 NAPL简介 硬中断和软中断 中断与轮询的区别一 ring buffer 一. 中断 从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号 ...
- java8 joda_Java基础之如何取舍Joda与 Java8 日期库
在 Java8 以前,时间和日期的类库很难用,而且有线程安全等诸多问题. Joda time 弥补了 Java 在这方面的不足,但是在 Java8 时,增加了 java.time 包,对 Java 在 ...
- Wireshark数据抓包教程之Wireshark的基础知识
Wireshark数据抓包教程之Wireshark的基础知识 Wireshark的基础知识 在这个网络信息时代里,计算机安全始终是一个让人揪心的问题,网络安全则有过之而无不及.Wireshark作为国 ...
- Udacity机器人软件工程师课程笔记(九)-ROS-Catkin包、工作空间和目录结构
Catkin包和工作空间 1.Carkin包简介 Catkin是ROS的官方构建系统,也是原始ROS构建系统rosbuild的继承者.catkin结合了CMake宏和Python脚本,在CMake的正 ...
最新文章
- PHP文件头部(header)解释
- 代码整洁之道----读书笔记
- Fragment重影(重叠)白屏等问题原理解析,以及解决方案
- 《系统集成项目管理工程师》必背100个知识点-51项目人力资源管理
- 2套RAC环境修改scanip后客户端连接异常
- Composer 安装时要求输入授权用户名密码
- easyUI之ComboBox(下拉列表框)
- EF RepositoryBase 参考示例【转】
- 解决升级Win 10 IP 10122后无法调试UAP应用的方法
- 第二百九十八节,python操作redis缓存-Set集合类型,可以理解为不能有重复元素的列表...
- log日志java web_Java Web log4j (日志)
- 【极限精简888M,老机专用】星岚技术 Win7 x64 深度精简版 V2020.10
- 使用SimHash进行海量文本去重
- 小白的jquery学习之路之04效果新闻向上无缝循环显示
- [DEFCON全球黑客大会] CTF(Capture The Flag)
- 电商系统,商品属性表和功能设计,可用于各种实体的属性
- FPGA控制DDR读写(AXI4总线接口)
- 对于嵌入式为什么要有uboot的深度解析
- android 虚拟机介绍
- 网站排名SEO优化方案(2022最新)