java 加日期_java 给时间增加时间得到一个新的时间(日期)
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd")
LocalDate expirationDate
String expirDate="0"
Date date = df.parse(expirationDate as String) // 指定日期
expirDate = addDate(date, im.expiry2y).format("yyyy-MM-dd") // 指定日期加上天数
得到一个新的日期
/**
* 效期增加天数,得到一个新的日期
* @param date
* @param day
* @return
* @throws Exception
*/
static Date addDate(Date date,long day) throws Exception {
long time = date.getTime(); // 得到指定日期的毫秒数
day = day*24*60*60*1000; // 要加上的天数转换成毫秒数
time+=day; // 相加得到新的毫秒数
return new Date(time); // 将毫秒数转换成日期
}
下面代码是给日期年数增加年的时间
//把LocalDate 转date
ZoneId zoneId = ZoneId.systemDefault()
ZonedDateTime zdt = exdm.expirationDate.atStartOfDay(zoneId)
//给年数加两年
Calendar rightNow = Calendar.getInstance()
rightNow.setTime(Date.from(zdt.toInstant()))
rightNow.add(Calendar.YEAR, 2)//给年数增加两年,得到一个新的日期
expirDate = df.format(rightNow.getTime())
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd")
Integer daysToExpire=180
Integer warnShelfLife = 60 // 临期天数
if (isValidDate(batchPart)) {//判断时间格式是否正确
formatter.setLenient(false)
Date newDate = formatter.parse(batchPart)
formatter = new SimpleDateFormat("yyyy-MM-dd")
String ds = formatter.format(newDate)
Date d = formatter.parse(ds)
expirDate = df.format(new Date(d.getTime() + ((im.daysToExpire ?: 0) - (im.warnShelfLife ?: 0)) * 24 * 60 * 60 * 1000L)) as String
}
结果得到一个新的日期
/**
* 判断日期格式是否正确
* @param str
* @return
*/
static boolean isValidDate(String str) {
boolean convertSuccess = true
// 指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写;
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd")
try {
// 设置lenient为false.
// 否则SimpleDateFormat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007/03/01
format.setLenient(false)
format.parse(str)
} catch (Throwable t) {
convertSuccess = false
}
return convertSuccess
}
===========================================================以下是网上找到的方法=======================================================
package com.date.test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
public static void main(String[] args) throws ParseException {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); // 日期格式
Date date = dateFormat.parse("2015-07-31"); // 指定日期
Date newDate = addDate(date, 20); // 指定日期加上20天
System.out.println(dateFormat.format(date));// 输出格式化后的日期
System.out.println(dateFormat.format(newDate));
}
public static Date addDate(Date date,long day) throws ParseException {
long time = date.getTime(); // 得到指定日期的毫秒数
day = day*24*60*60*1000; // 要加上的天数转换成毫秒数
time+=day; // 相加得到新的毫秒数
return new Date(time); // 将毫秒数转换成日期
}
}
java 加日期_java 给时间增加时间得到一个新的时间(日期)相关推荐
- 日期格式转换,正则匹配后转换;指定时间增加天数加转格式;js时间转换格式
指定时间增加天数加转格式,正则匹配: //申明需要的时间格式 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss& ...
- java加盐_Java中MD5加密加盐算法
前俩天项目组需要做一个密码的加密加盐操作,无意中在网上看到一个对应的加密加盐算法,特意在此做一个记录 import java.security.MessageDigest; import java.u ...
- java加按钮_Java实战:50行代码实现QQ登录和微博登录
作者丨我是小茗同学 整理丨Java团长 https://www.cnblogs.com/liuxianan 1. 前言 个人网站最近增加了评论功能,为了方便用户不用注册就可以评论,对接了 QQ 和微博 ...
- java加减_Java位运算实现加减乘除
一.加法 a+b 举例实现:13+9=22 13+9不考虑进位结果为12 只考虑进位结果为10 和刚好是22. 13二进制为1101,9二进制为1001. 不考虑进位结果为0100.算式为a^b 只考 ...
- java 加日志_java中添加日志
在简单的项目中添加日志: 首先导入2个jar包 commons-logging-1.1.1.jar log4j-1.2.15.jar 然后在项目的src目录下创建log的配置文件 log4j.prop ...
- 乘法口诀表java加表格_Java 面试 - 打印九九乘法口诀表
在Java面试过程中, 面试者经常会被要求手写代码或上机操作.一般来说,手写代码或上机操作,主要还是考察面试者的分析问题和解决问题的能力.打印九九乘法口诀无疑是非常基础的,那么如何实现呢?首先我们先来 ...
- java arraylist插入_java ArrayList数组中如何插入一个元素
java ArrayList数组中如何插入一个元素 比如: ArrayList myList = new ArrayList(): myList.add(0); myList.add(1); myLi ...
- java hive查询_java程序调用hive查询的一个异常
最近在java程序中调用hive做查询时,碰到一个异常,被困扰了许久,经过几番调试,逐步把问题定位清楚. 在异常描述前先给出异常信息:java.sql.SQLException: Error whil ...
- java控制单元测试_java – 当单元测试控制器时,模拟一个Spring Validator
在将单元测试postmortem编码到另一个项目创建的代码时,我遇到了如何使用initBinder模拟与控制器绑定的验证器的这个问题? 通常我会考虑确保我的输入是有效的,并且在验证器中进行一些额外的调 ...
最新文章
- 在LINUX中部署NIS服务器
- 零基础学oracle pdf_零基础怎么学手绘插画!
- 求链表倒数第k个结点
- 安卓qpython怎么使用_如何使用QPython开发Android应用?
- 2017年10月05日普及组 负进制
- [Flask+Vue]Books全栈应用
- webstorm下debug调试react js程序
- python为什么不会溢出_深入分析python中整型不会溢出问题
- linux telnet.class,Linux telnet简单实用方法
- 如何在JAVA编程语言程序开发中更好的利用数据库中2两张表?
- 比较默认对象和默认约束的异同_UE4对象类类型引用和类默认对象(Class Default Object,简称CDO)...
- 《推荐系统笔记(十二)》聚类生成标签以及基于标签的TopN推荐
- ffmpeg1.2的filter分析
- 基于android的希腊字母读音手机软件,希腊字母表app下载
- mysql 定时调用sp_使用shell脚本调用mysql数据库存储过程,并设置定时任务
- Redis “max number of clients reached“的分析过程
- NOI2021 D类打铁记
- 全球家务机器人发展现状及未来趋势
- eclipse复制工作空间配置
- ML-Agents学习之RollerBall项目
热门文章
- unity3d IGUI下载
- C语言有一个分数序列,求出这个数列的前20项之和
- Oracle数据库的应用详解
- 删库别急着跑路,这几步神恢复!
- ajax then fail done,我应该使用.done()和.fail()来获取新的jQuery AJAX代码而不是成功和错误...
- 年终盘点丨2017人工智能十大关键词,收购、政策、场景创新上榜
- Qcom_Sensor(八)--- 之 DSPS架构分析
- 惠尔丰VX675解密流程2019
- 软件问题定位的方法(一)
- numpy数组做 图片拼接(concatenate、vstack、hstack)