java 时间的原生操作和工具类操作
package com.xc.test.dateoperation; import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.lang3.time.DateUtils; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator; public class DateMain { public static void main(String[] args) throws ParseException { Date now = new Date();
// System.out.println("now:" + now);// Fri Aug 16 14:51:39 CST 2019 //日期add
{
// 封装Calendar类add方法
{
Date date = add(now, Calendar.DAY_OF_MONTH, 1);//增加天数
// System.out.println("date:" + date);// Sat Aug 17 14:51:39 CST 2019
Date date2 = add(now, Calendar.MINUTE, 1);//增加分钟
// System.out.println("date2:" + date2);// Fri Aug 16 14:52:39 CST 2019
}
// 通过DateUtils工具类
{
Date date = DateUtils.addDays(now, 1);//增加天数
// System.out.println("date:" + date);// Sat Aug 17 14:51:39 CST 2019
Date date2 = DateUtils.addMinutes(now, 1);//增加分钟
// System.out.println("date2:" + date2);// Fri Aug 16 14:52:39 CST 2019
}
} //判断2个日期是不是同一天
{
// 判断Calendar的年,年所在的天数是否相等
boolean sameDay = isSameDay(now, now);
// System.out.println(sameDay);//true
// 通过DateUtils工具类
boolean sameDay2 = DateUtils.isSameDay(now, now);
// System.out.println(sameDay2);//true
} /*
获取一段日期
RANGE_WEEK_SUNDAY 从周日开始获取一周日期
RANGE_WEEK_MONDAY 从周一开始获取一周日期
RANGE_WEEK_RELATIVE 从当前时间开始获取一周日期
RANGE_WEEK_CENTER 以当前日期为中心获取一周日期
RANGE_MONTH_SUNDAY 从周日开始获取一个月日期
RANGE_MONTH_MONDAY 从周一开始获取一个月日期
*/
Iterator<Calendar> iterator = DateUtils.iterator(now, DateUtils.RANGE_MONTH_SUNDAY);
while (iterator.hasNext()) {
Calendar next = iterator.next();
// System.out.println("next:" + next);
String format = DateFormatUtils.format(next, "yyyy-MM-dd HH:mm:ss");
// System.out.println("format:" + format);
} // 解析时间字符串
{
// 使用SimpleDateFormat类
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse("2019-08-16 15:36:16");
// System.out.println("date:" + date);//Fri Aug 16 15:36:16 CST 2019
}
// 通过DateUtils工具类
{
Date date = DateUtils.parseDate("2019-08-16 15:36:16", "yyyy-MM-dd HH:mm:ss");
// System.out.println("date:" + date);//Fri Aug 16 15:36:16 CST 2019
}
} // 设置日期时间
{
// 封装Calendar的set方法
{
Date date = set(now, Calendar.DAY_OF_MONTH, 1);
// System.out.println(date);//Thu Aug 01 16:04:08 CST 2019
String format = DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss");
// System.out.println("format:" + format);//2019-08-01 16:04:08
}
// 通过DateUtils工具类
{
Date date = DateUtils.setDays(now, 1);
// System.out.println(date);//Thu Aug 01 16:04:08 CST 2019
String format = DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss");
// System.out.println("format:" + format);//2019-08-01 16:04:08
}
} //计算两个时间隔多少天
{
int intervalDate = intervalDate(now, now);
// System.out.println("intervalDate:" + intervalDate);//
} } // 计算两个时间隔多少天
public static int intervalDate(Date startDate, Date endDate) {
long startTime2 = startDate.getTime();
long endTime2 = endDate.getTime();
int amount = (int) ((endTime2 - startTime2) / (1000 * 3600 * 24));
return amount;
} /**
* 设置日期时间
*
* @param date 待修改的日期
* @param calendarField 设置的单位
* @param amount 设置的数值
* @return Date 设置后的日期
*/
private static Date set(Date date, int calendarField, int amount) {
Calendar c = Calendar.getInstance();
c.setLenient(false);
c.setTime(date);
c.set(calendarField, amount);
return c.getTime();
} /**
* 判断2个日期是不是同一天
*
* @param date1 待比较日期1
* @param date2 待比较日期2
* @return boolean
*/
public static boolean isSameDay(Date date1, Date date2) {
Calendar cal1 = Calendar.getInstance();
cal1.setTime(date1);
Calendar cal2 = Calendar.getInstance();
cal2.setTime(date2);
return cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) &&
cal1.get(Calendar.DAY_OF_YEAR) == cal2.get(Calendar.DAY_OF_YEAR);
} /**
* 日期add
*
* @param date 待增日期
* @param calendarField 增加单位
* @param amount 增加数量
* @return Date 增加后日期
*/
private static Date add(final Date date, int calendarField, int amount) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.add(calendarField, amount);
return c.getTime();
} }
java 时间的原生操作和工具类操作的更多相关文章
- Redis操作List工具类封装,Java Redis List命令封装
Redis操作List工具类封装,Java Redis List命令封装 >>>>>>>>>>>>>>>> ...
- Java操作Redis工具类
依赖 jar 包 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis< ...
- Redis操作Set工具类封装,Java Redis Set命令封装
Redis操作Set工具类封装,Java Redis Set命令封装 >>>>>>>>>>>>>>>>& ...
- java中文件操作的工具类
代码: package com.lky.pojo; import java.io.BufferedReader; import java.io.BufferedWriter; import java. ...
- Java操作FTP工具类(实例详解)
这里使用Apache的FTP jar 包 没有使用Java自带的FTPjar包 工具类 package com.zit.ftp; import java.io.File; import java.i ...
- 黑马程序员——【Java基础】——泛型、Utilities工具类、其他对象API
---------- android培训.java培训.期待与您交流! ---------- 一.泛型 (一)泛型概述 1.泛型:JDK1.5版本以后出现的新特性,用于解决安全问题,是一个类型安全机制 ...
- 自己封装的poi操作Excel工具类
自己封装的poi操作Excel工具类 在上一篇文章<使用poi读写Excel>中分享了一下poi操作Excel的简单示例,这次要分享一下我封装的一个Excel操作的工具类. 该工具类主要完 ...
- Redis操作字符串工具类封装,Redis工具类封装
Redis操作字符串工具类封装,Redis工具类封装 >>>>>>>>>>>>>>>>>>& ...
- android操作ini工具类
package com.smarteye.common; import java.io.BufferedReader; import java.io.BufferedWriter; import ja ...
随机推荐
- 什么是ARP协议?
ARP协议,全称“Address Resolution Protocol”,中文名是地址解析协议, 使用ARP协议可实现通过IP地址获得对应主机的物理地址(MAC地址). 在TCP/IP的网络环境下, ...
- Linux 一款免费的shell工具 MobaXterm_Personal
一款免费的shell工具 MobaXterm_Personal
- 通过django-crontab扩展来实现 定时任务
pip install django-crontab 基本格式 : * * * * * 分 时 日 月 周 命令 M: 分钟(0-59).每分钟用*或者 */1表示 H:小时(0-23).(0表示0点 ...
- 【微信小程序】如何获取用户绑定手机号
用户调用wx.login()方法,获取登录用户凭证code wx.login({ success: function(res) { console.log('loginCode', res.code) ...
- Pytest权威教程13-Fixture方法及测试用例的参数化
目录 Fixture方法及测试用例的参数化 @pytest.mark.parametrize:参数化测试函数 基本的pytest_generate_tests例子 更多示例 返回: Pytest权威教 ...
- mac webstorm 安装破解
下载: 链接:https://pan.baidu.com/s/1A1afhcpPWMrQtOr1Suqs-g 密码:5r7b 激活码 K6IXATEF43-eyJsaWNlbnNlSWQiOiJLN ...
- DB2 sqlCode-668
客户端调用命令 CALL SYSPROC.ADMIN_CMD('reorg table tablename')
- Oracle 11g 数据库 expdp/impdp 全量导入导出
从一个用户导出导入到另一个用户 问题 环境:oracle 11g; redhat 6 usera是具有DBA权限,密码为usera 全量导出usera用户下的所有内容,并导入到新建的userb用户 解 ...
- Android系统分区
Android系统开发时,经常会遇到添加或者调整系统分区大小的问题,下面以mstar的一款产品为例进行分析: (1)mount指令可以查看到板子中挂在的分区,主要关注ext4类型分区,例如tvserv ...
- java 判断list是否为空
问题: 之前用 list!=null 来判断list是否为空,但发现,定义一个list后,即使里面并没有加入任何元素,返回的结果仍旧是 true, 其实,本意是希望在没有任何元素时,返回 false, ...