根据指定日期获取上一个月
根据指定日期获取上一个月
看过不少类似文章,根据一个日期,要取得相应的上一个月的值,则利用Calendar的api:get(Calendar.MONTH) - 1)来算。
思路是对的,但这个api有坑的,例如:当前日期为:2021-03-30,得到的上一月的结果为:202103,但我们期望结果是:202102。
因为Calendar计算时,如果有时间算时间、有天算天,但我们期望结果是得到月,所以要先确保当前日期精确到月,即换算单位相同,具体代码如下,请参考:
DateUtil.YYYYMM常量,即字符串:"yyyyMM"
/*** 根据指定的日期对象,返回上一个年月字符串* @param theDate 指定的日期对象* @return*/public static String getLastYearMonth(Date theDate) {Calendar now = Calendar.getInstance();String yearMonth;if (theDate == null) {yearMonth = DateUtil.format(now.getTime(), DateUtil.YYYYMM);theDate = DateUtil.convert(yearMonth, DateUtil.YYYYMM);} else {yearMonth = DateUtil.format(theDate, DateUtil.YYYYMM);}theDate = DateUtil.convert(yearMonth, DateUtil.YYYYMM);now.setTime(theDate);now.set(Calendar.MONTH, now.get(Calendar.MONTH) - 1);return DateUtil.format(now.getTime(), DateUtil.YYYYMM);}
Good luck!
根据指定日期获取上一个月相关推荐
- js获取上一个月、下一个月
/*** 获取上一个月** @date 格式为yyyy-mm-dd的日期,如:2014-01-25*/function getPreMonth(date) {var arr = date.split( ...
- php 使用strtotime获取上一个月月份的问题
strtotime() 函数说明: strtotime() 函数将任何英文文本的日期或时间描述解析为 Unix 时间戳,比如: 1.输出当前时间戳:echo strtotime("now&q ...
- Android开发之Java和Calendar日期上一年,上一个月,前一天,前一周的方法
公司做的项目要求选择日期可以选择上一个月的,很简单,但是涉及到临界日期,例如跨年 直接的问题从2019.1.1往前一个月那就不简单了,于是找到相关方法自己尝试下.理解出了两个往前一年的区别 看下图: ...
- php 上一个月的开始和结束,php获取上一个月的开始与结束时间遇到的问题
改正之前: $_lastMonthStart = date('Y-m-1 00:00:00', strtotime("-1 month")); $_lastMonthEnd = d ...
- Java 获取上一个月的月份
因最近在写代码的时候遇到了获取上个月月份的问题YYYYMM这个格式,根据给的工具类,获取出来的值是有问题的,所以记录以下. 问题方法 /*** 获取上个月的月份* 该方法有问题 三月份的29 30 3 ...
- 获取上一个月的同一天
下面的代码是我在网上搜到的,成功解决的我的问题,我一直用的是set方法,不好使,改为add后就可以了! public static Calendar getDateOfLastMonth(Calend ...
- pgsql获取上一个月,上一个月第一天,上一个月最后一天
测试数据: select TO_CHAR((DATE_TRUNC('MONTH', CURRENT_DATE) + INTERVAL '-1 MONTH')::DATE,'YYYYMM') AS & ...
- oracle获取上一个月或者下一个月或者多少个月
当月 2020-2-25 add_months()函数 负数:当前月份减去多少个月份 正数:当前月份添加多少个月份 . 字符串型: select to_char(add_months(trunc( ...
- 获取上一个自然周的、上一个自然月的起始时间范围
一般统计经常用的时间范围,在此提供两个经常用到,时间范围取每个月一号零时至下月一号零时之间 例如:当前日期是 20190910 20190801 00:00:00 -- 20190901 00:00: ...
最新文章
- 2022-2028年中国环烷基润滑油行业市场研究及前瞻分析报告
- ijkplayer iOS集成
- 网络推广费用浅析网站具备哪些特点能更受蜘蛛的青睐?
- openstack架构详解图_英特尔顶级技术专家合力缔造精品:Linux开源网络全栈详解...
- PHP memory_get_usage()管理内存
- 最佳论文!牛津大学揭示梯度下降复杂度理论
- VUE自学日志02-应用与组件实例
- java extends 继承的一些小结。
- android sha1和签名证书的学习
- Oracle :备份 、还原数据库
- 获取cookie_XSS获取COOKIE
- log4j配置详解(非常详细)
- 计算机网络第三章:数据链路层
- 吴伯凡-认知方法论-如何做到真正的反思
- 三轮全向轮底盘SLAM挖坑系列-简介
- 卸载百度软件修复服务器,快速修复win7系统笔记本卸载百度软件中心助手的解决教程...
- Java基础 快速学习(一)
- 艺赛旗RPA 网页处理系列(三):网页检查 / 审查小技巧
- HTTPS IP直连问题小结
- 为什么会有缓冲区溢出攻击专栏