将日期设定成上一个月,上一年。
Date date = new Date();//当前时间String data1 = "2022-01-01";//指定专门的时间String format = "yyyy-MM-dd HH:mm:SS";SimpleDateFormat sd = new SimpleDateFormat(format);Date parse = null;try {parse = sd.parse(new Data());//将指定的时间进行转换成Date类型} catch (java.text.ParseException e) {e.printStackTrace();}Calendar c = Calendar.getInstance();c.setTime(parse);c.add(Calendar.MONTH, -1);//减去当前日期的一个月c.add(Calendar.YEAR,-1);//减去当前日期的一年String format1 = sd.format(c.getTime());System.out.println(format1);
获取指定月份之间相差月份数量
String oldDateStr="202201";//指定一个日期------------SimpleDateFormat sdf =new SimpleDateFormat( "yyyyMM");Date oldDate= null;try {oldDate = sdf.parse(oldDateStr);} catch (ParseException e) {e.printStackTrace();}Calendar calendar= Calendar.getInstance();//获取日历对象calendar.clear();calendar.setTime(oldDate);int oldYear =calendar.get(Calendar.YEAR);//获取指定日期年份int oldMonth =calendar.get(Calendar.MONTH)+1;//获取指定日期的月份String currentDate="202205";//指定另一个日期------------Date currentDate1= null;try {currentDate1= sdf.parse(currentDate);} catch (ParseException e) {e.printStackTrace();}calendar.clear();calendar.setTime(currentDate1);int currentYear=calendar.get(Calendar.YEAR);//当前日期的年份int currentMonth =calendar.get(Calendar.MONTH)+1;//当前日期的月份String curDate=sdf.format(currentDate1);//currentMonth可能会比oldMonth小,因此要加绝对值int betweenMonth =Math.abs((currentYear-oldYear)* 12 +(currentMonth-oldMonth));//计算相差多少了个月System.out.println(oldDateStr+"与今天"+curDate+"相差了"+betweenMonth+"个月");
获得指定日期的天数差:
DateFormat dft = new SimpleDateFormat("yyyy-MM-dd HH:mm:SS");Date date = new Date();String format = dft.format(date);Long num = 0L;try {Date star = dft.parse(createTime);//开始时间Date endDay=dft.parse(format);//结束时间Long starTime=star.getTime();Long endTime=endDay.getTime();num=endTime-starTime;//时间戳相差的毫秒数System.out.println("相差天数为:"+num/24/60/60/1000);//除以一天的毫秒数} catch (ParseException e) {e.printStackTrace();}
两个时间的比较:
使用Date.before(),Date.after()和Date.equals()
if (c.getTime().after(nowDay)){//如果质保到达的时间在当前的时间后面 即为trueSystem.out.println("true = " + true);}
将日期设定成上一个月,上一年。相关推荐
- Android开发之Java和Calendar日期上一年,上一个月,前一天,前一周的方法
公司做的项目要求选择日期可以选择上一个月的,很简单,但是涉及到临界日期,例如跨年 直接的问题从2019.1.1往前一个月那就不简单了,于是找到相关方法自己尝试下.理解出了两个往前一年的区别 看下图: ...
- oracle 查询上一月,Oracle数据库查询上一小时、上一天、上一个月、上一年
Oracle数据库查询上一小时.上一天.上一个月.上一年.前几小时.前几天.前几月.前几年 上一小时.上一天.上一个月.上一年 上一小时 代码 select concat(to_char(sysdat ...
- 根据指定日期获取上一个月
根据指定日期获取上一个月 看过不少类似文章,根据一个日期,要取得相应的上一个月的值,则利用Calendar的api:get(Calendar.MONTH) - 1)来算. 思路是对的,但这个api有坑 ...
- 【转】使用PHP计算上一个月的今天
转自:http://www.phppan.com/2011/06/php-last-month-today/ 一日,遇到一个问题,求上一个月的今天. 最开始我们使用 strtotime("- ...
- php 计算上个月,如何使用PHP计算上一个月的今天
一日,遇到一个问题,求上一个月的今天. 最开始我们使用 strtotime("-1 month") 函数求值,发现有一个问题,月长度不一样的月份的计算结果有误. 比如:2011-0 ...
- js获取上一个月、下一个月
/*** 获取上一个月** @date 格式为yyyy-mm-dd的日期,如:2014-01-25*/function getPreMonth(date) {var arr = date.split( ...
- 查询一个表中一个字段相同的数据_最实用MySQL 查询当天、本周,本月、上一个月的数据...
MySQL 查询当天.本周,本月.上一个月的数据 mysql查询当天的所有信息: SELECT * FROM 表名 WHERE year(时间字段名)=year(now()) and month(时间 ...
- 获取当前日期的上一个月和后三个月。
import datetime from dateutil.relativedelta import relativedelta #获取当前日期的上一个月和后一个月 print(datetime.da ...
- sql上一个月和下一个月
select sysdate-1 昨日,sysdate 今日,sysdate+1 明日 from dual; select sysdate,sysdate- interval '1' month f ...
最新文章
- PHP中self和static的区别,php中self与static的区别
- nginx 图片站点加访问权_nginx配置访问图片路径以及html静态页面的调取方
- C#中的深克隆的两种方式
- 对财务客户开具Invoice(无销售流程)
- 【ARM】arm异常中断处理知识点
- java jtable应用源码_JTable的应用(一)
- Controller 如果能保持单例,尽量使用单例
- 学生用计算机中sto,STO 文件扩展名: 它是什么以及如何打开它?
- 前端学习(3132):react-hello-react之受控组件
- POJ 1323 Game Prediction#贪心
- APICloud学习笔记之窗体跳转
- 【Flink】 Flink JobManager HA 机制的扩展与实现
- php csrf jsonp,读取型CSRF(JSONP劫持、CORS跨域资源读取、Flash跨域劫持)
- sql broker_使用SQL Server Service Broker进行异步处理
- ITU-T Technical Paper: QoS 的参数(非常的全,共计88个)
- 桌面有u盘符计算机里没有了,教你电脑不显示u盘盘符怎么办
- 选对了裤长,胜过任何一件高级定制
- 谭松韵被造谣ee文件与服务器,黄磊何炅心疼谭松韵被造谣!从和张子枫相处看出人品!...
- 苹果手机怎么查看足迹_苹果手机打电话怎么录音
- JimuReport积木报表打印多出一页空白页问题(解决方案)