先看下代码

public static void main(String[] args) {
int dataMonth = 4; DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Calendar dataCalendar = Calendar.getInstance();
//今天日期,2021-03-31
System.out.println("今天:" + dateFormat.format(dataCalendar.getTime())); //设定月份为4月
dataCalendar.set(Calendar.MONTH, dataMonth - 1);
System.out.println("目标:" + dateFormat.format(dataCalendar.getTime()));
}

代码很简单,那结果是多少呢?

今天:2021-03-31
目标:2021-05-01

???怎么是5月1号?看了下日历,知道原因了,4月只有30天,没有31号,所以就把多出来的1天自动加上,成了5月1号了!

所以这块在设定的时候要注意了,平常可能是逻辑正常的,但到月底的时候,问题就显出来了!

Calendar设定月份时要注意日期的更多相关文章

  1. Android Calendar获取年月日时分秒毫秒

    开始使用new Date()测试,并用通过date.getMonth(),和date.getDay()获取,不过后来发现这两个访求是jdk1.1版本的,现在已经不用了,而且结果也不正确. ; int ...

  2. Java calendar获取月份注意事项

    Calendar中月份month得取值是从0开始,到11,对应着日历中的1-12月.所以在用此取月份的话,需要在原有基础上加1.

  3. oracle 根据一个时间段获取这个时间段内所有月份、天数、日期

    注:本文来源于< oracle 根据一个时间段获取这个时间段内所有月份.天数.日期 > 获取月份列表: SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2014-10 ...

  4. 修复回写PR时到料日期重复扣减检验周期的问题:

    问题描述: 修复回写PR时到料日期重复扣减检验周期的问题:系统回写的外购半成品PR交货日期未按采购周期回写,从8-10日开始均于10天交期回写,例以下9-5日今天回写的PR,采购周期12天,结果回写到 ...

  5. JDK神坑:JAVA中Calendar的月份Month少1

    很多朋友在使初次使用Calendar时,会发现月份莫名其妙对不上,显示的结果总是比预期中小1个月,检查好几遍也没发现程序有错,于是开始抓狂.其实这个时候,只要去看JDK就会明白问题所在.JDK告诉我们 ...

  6. DCalendar增加月份选择功能--简单jQuery日期选择器插件改动

    做时间插件的时候,很多都会遇到要做选择月份的插件,但是DCalendar提供的api只支持日期选择,最近遇到这个问题,所以调整了一下源码,话不多说,先看效果吧 点击日期插件,出现上图,再点击月份就直接 ...

  7. Java,Calendar -- 获取当前日期、当月月初日期、月末日期

    public class CalendarTest { public static void main(String[] args) { // 获取当前年份.月份.日期 Calendar cale = ...

  8. LCD副屏-CPU,内存,时显,日期显示

    文章结构: 项目概述 成品预览 项目框架 硬件资料,代码 项目槽点 -项目概述- 以前的旧模块搁置很久没用,最近看到圈子很多倒腾电脑副屏的,咱虽然没钱,但是闲啊,刚好手头有这些东西,开干. 目的: 显 ...

  9. 微软BI 之SSIS 系列 - 在 SSIS 输出平面文件时根据运行日期生成不同的文件名称

    开篇介绍 在 SSIS 中操作文件的输入和输出是非常方便的,这个例子讲解一个最简单的需求:比如每天从数据库中查询一批数据要输出到文件,每天产生一个文件,那么文件的名称按照"文件名+日期&qu ...

  10. Calendar计算一个月前的日期,踩坑记录

    错误示范:calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1);//获取一个月前的今天这种写法假设传入的日期为2019-03-3 ...

随机推荐

  1. Linux内核机制—smp_hotplug_thread

    基于Linux-5.10 一.简介 1. 只是一个创建per-cpu线程执行用户提供的回调的机制. 2. 内核中已存在的注册 static struct smp_hotplug_thread idle ...

  2. 关闭win10“快速启动”功能

    windows正常运行时间的统计问题 windows任务管理器中,在性能选项卡中可以查看系统的运行时间(开机时间) 正常情况下,如果电脑关机,那么再次开机后,该时间会被重置 但是,如果电脑处于上面所说 ...

  3. (Fiddler)Fiddler 的相关操作

    Fiddler 的几个常用操作: 1. Statistics:会话信息统计 1)选择当前页面的第一个请求和最后一个请求,通过计算 statistics,就知道该页面总共的耗时时间. 2)查出当前页面耗 ...

  4. GuiLite 学习笔记(一) Mainloop与ViewTree

    以GuiLiteSamples中的HelloSlide 为例,剖析一下GuiLite的设计思路和刷新机制: 首先是main.cpp; 可以分成3部分: 1.根据fb mode拿到对应的phy_fb, ...

  5. 常用IBatis属性

    <?xml version="1.0" encoding="utf-8" ?> <sqlMap namespace="GoodDet ...

  6. VS code 安装后gdb调试无法显示STL内容的问题

    bar {...} std::_Vector_base<TSample<MyTraits>, std::allocator<TSample<MyTraits> &g ...

  7. 【TensorFlow】InternalError: Failed copying input tensor

    TensorFlow-GPU 执行模型训练时报错: InternalError: Failed copying input tensor from /job:localhost/replica:0/t ...

  8. 记录自己在对订单进行按日期查询时使用的一种查询的方法,这里的orders是订单表,你也可以改成别的什么表对于最终数据不会造成影响,除非你那个表的数据只有几条那样就会出现查不到日期的情况

    SELECT @date := DATE_ADD(@date, INTERVAL + 1 DAY) days FROM ( SELECT @date := DATE_ADD("2019-06 ...

  9. struts2 显示表格

    <%@ taglib uri="/struts-tags" prefix="s"%> <h3>All Records:</h3&g ...

  10. SATA硬盘的数据和电源接口定义(转)

    现在 SATA设备越来越普及,包括STAT硬盘和光驱基本都已经是 SATA接口的了,以前的老式电源输出接口一般都是20针供主板加上4针的电源供硬盘也就是说以前的电脑电源给硬盘供电没有设计15针 SAT ...