date js 半年_js Date 日期使用上的一个坑

作者:坚强一点

链接:https://zhuanlan.zhihu.com/p/22253858

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

在写js 日历插件的时候遇到一个奇怪的情况。

日历当前的日期是 2016-08-31 号 用  js Date 类型保存的当前日期

var currDate = new Date(); // 初始化的时候的当期日期,

当我点击下一个月的时候,直接取出当期日期的月份,然后 +1

直接重置 currDate 的月份 的代码ru

currDate.setMonth(currDate.getMonth() + 1);

在大部分情况下这种做法是没有问题的。

但是如果当前月份是 2016-08-31 的时候,我取出当期月份然后+1最后的结果是2016-10-01

月份增加了2月,而不是想象中的只增加了一个月,如果细心的人已经发现了,日期的天数变化,从31号变到了1号,其实问题也就出现在这里。

因为当我使用“currDate.setMonth(currDate.getMonth() + 1);”这段代码重置月份的时候,

最后的结果是 2016-09-31,但是实际情况是,2016-09月份的时候只要30填,没有31号,所以日期就自动往后延期了一天变成了2016-10-01

所以最后我把重置的代码改成了如下

currDate.setMonth(currDate.getMonth() + 1);

currDate.setDate(1);

手动吧日期放到了第一天,心想这下应该没问题了。结果实际情况一点都没变。还是从2016-08-31 直接跳到了2016-10-01。

其实问题还是一样的情况,因为在执行 currDate.setMonth(currDate.getMonth() + 1); 这段代码的时候  currDate 已经是  2016-10-01 号了,这个时候在执行

currDate.setDate(1);这段代码的时候 只是吧 当前月份的日期重置到了1号,所以没有任何变化。

最后把代码改成了

currDate.setDate(1);

currDate.setMonth(currDate.getMonth() + 1);

解决问题。

a797764cefca

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489727.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IBM人工智能将“掌舵”全球首个跨大西洋自主驾驶船舶

来源:IBM中国IBM提供IBM Systems、AI、云以及边缘计算技术,“掌舵”全球首个跨大西洋的自主航行任务目标是拓展人类对于海洋的认识,以及消除海洋研究的障碍此次航行将帮助科学家们了解海洋塑料堆积这一重大社会问题日前,IBM THINK…

用css、html编写一个两列布局的网页,名称为css.html ,要求左侧宽度为200px ,右侧自动扩展...

<body><div style" float:left; width:200px; height:300px; border: 1px #0033FF solid;">111</div><div style" float:left; width:auto; height:300px; border: 1px #0033FF solid;">222</div></body>或者&#x…

python 导入数据对不齐_[Python] 大文件数据读取分析

首先我们可以确定的是不能用read()与readlines()函数&#xff1b;因为如果将这两个函数均将数据全部读入内存&#xff0c;会造成内存不足的情况。针对数据按行划分的文件以计算行数为例&#xff0c;首先针对几种不同的方法来作比较&#xff1a;1、使用for遍历的方法&#xff0c…

【周末阅读】人工智能时代基础数据服务大有可为

来源&#xff1a;青岛智能产业技术研究院智能产业 前沿高地【导读】为机器学习算法训练、优化提供数据采集、标注等服务的人工智能基础数据服务成为这一人工智能热潮中必不可少的一环。如果说计算机工程师是AI的老师&#xff0c;那基础数据服务就是老师手中的教材。人工智能基础…

c#FileStream文件读写(转)

FileStream对象表示在磁盘或网络路径上指向文件的流。这个类提供了在文件中读写字节的方法&#xff0c;但经常使用StreamReader或StreamWriter执行这些功能。这是因为FileStream类操作的是字节和字节数组&#xff0c;而Stream类操作的是字符数据。字符数据易于使用&#xff0c;…

python能处理图片吗_python 能处理图像?

答案是&#xff1a;完全ojbkpython具有强大的图像处理功能&#xff0c;这归功于他 的PIL模块与我们平时所见的使用PS等软件P图有所不同&#xff0c;python实现的图像处理是以代码的形式完成工作&#xff0c;也是千峰这篇文章要说的。需要相关学习资料请关注我操作环境&#xff…

python3多线程编程_Python 3-多线程编程

Python 3-多线程编程运行多个线程类似于同时运行多个不同的程序&#xff0c;但具有以下优点-进程中的多个线程与主线程共享相同的数据空间&#xff0c;因此与单独的进程相比&#xff0c;可以更轻松地共享信息或彼此通信。线程有时被称为轻量级进程&#xff0c;它们不需要太多的…

物理史2000年来最精彩的对决!

来源&#xff1a;工程客背景&#xff1a;在20世纪初&#xff0c;物理学界诞生了影响至今的两大理论&#xff0c;这两个门派&#xff0c;一个是爱因斯坦以一人之力提出的相对论&#xff0c;另一个则是由玻尔领导的哥本哈根学派合力塑成的量子力学。而因为观念的差异&#xff0c;…

sql多行合成一行的解决方法

转载于:https://www.cnblogs.com/shanhuashuiqing11/p/6000627.html

动态改变eachers图表高_让你的Excel图表动起来

有读者提了这样一个问题&#xff0c;想要制作如下的动态图表&#xff0c;要怎么实现&#xff1f;动态图表展示.gif可以看到&#xff0c;这个动态效果里有4种选择器&#xff0c;左上方的组合框呈现出选择不同的方案展示相应柱形图的效果&#xff1b;中间的复选框勾上显示差额的图…

pythonxlwt行居中_python3-xlwt-Excel设置(字体大小、颜色、对齐方式、换行、合并单元格、边框、背景、下划线、斜体、加粗)...

# coding:utf-8import patterns as patternsimport xlwtimport timei 0book xlwt.Workbook(encodingutf-8)sheet book.add_sheet(sheet1, cell_overwrite_okTrue)# 如果出现报错&#xff1a;Exception: Attempt to overwrite cell: sheetnamesheet1 rowx0 colx0# 需要加上&a…

2018-2020年Gartner战略科技发展趋势一览!

来源&#xff1a;边缘计算社区近日&#xff0c;Gartner公布了2020年十大战略科技趋势的预测&#xff0c;值此之际&#xff0c;边缘计算社区总结回顾并简要分析了2018-2020三年的战略科技发展趋势变化。Gartner将战略科技发展趋势定义为具有巨大颠覆性潜力、脱离初期阶段且影响范…

【HDU 2255】奔小康赚大钱 (最佳二分匹配KM算法)

奔小康赚大钱 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1836 Accepted Submission(s): 798 Problem Description传说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行制度改革&#xff1a;重新分配…

java的比较运算符是_Java 基础(比较运算符,逻辑运算符,三元运算符)

运算符&#xff1a;比较运算符运算符运算范例结果相等于43false!不等于4!3true<小于4<3false>大于4>3true<小于等于4<3false>大于等于4>3trueinstanceof检查是否是类的对象"Hello" instanceof Stringtrue比较运算符的结果都是 boolean 类型&…

python爬去朋友圈_利用Python爬取朋友圈数据,爬到你开始怀疑人生

人生最难的事是自我认知&#xff0c;用Python爬取朋友圈数据&#xff0c;让我们重新审视自己&#xff0c;审视我们周围的圈子。文&#xff1a;朱元禄(数据分析&#xff0d;jacky)哲学的两大问题&#xff1a;1、我是谁&#xff1f;2、我们从哪里来&#xff1f;本文 jacky试图用P…

正面交锋!另类“竞赛”探索大脑的意识起源

图片来源&#xff1a;ZEPHYR/SCIENCE PHOTO LIBRARY/GETTY IMAGES来源&#xff1a;中国生物技术网在脑科学研究领域&#xff0c;科学家们可以观察到神经元的放电及其之间的通信&#xff0c;从而描绘出在产生感觉、进行决策和说话过程中大脑各区域是如何被“点亮”的。但他们无法…

(第七周)内容汇总

项目名&#xff1a;食物链教学工具 组名&#xff1a;奋斗吧兄弟 组长&#xff1a;黄兴 组员&#xff1a;谢孝淼、李俞寰、杜桥 1、团队贡献分 黄兴 5.1 谢孝淼 4.8 李俞寰 5.2 杜桥 4.9 2、alpha视频发布 平台&#xff1a;优酷 链接&#xff1a;http://v.youku.com/v_show/i…

tomcat java内存_[Tomcat]Java内存溢出详解Tomcat内存设置

Java内存溢出详解一、常见的Java内存溢出有以下三种&#xff1a;1.java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出JVM在启动的时候会自动设置JVM Heap的值&#xff0c;其初始空间(即-Xms)是物理内存的1/64&#xff0c;最大空间(-Xmx)不可超过物理内存。可以…

python与办公自动化专业就业方向_Python最好的几大就业方向与岗位技能要求【行业风向】...

关于Python的就业方向&#xff0c;如果你还在学习还没开始找工作&#xff0c;这篇文章绝对会对你有所帮助。目前信息化产业发展势头很好&#xff0c;互联网就成为了很多普通人想要涉及的行业&#xff0c;因为相比于传统行业&#xff0c;互联网行业涨薪幅度大&#xff0c;机会也…

深入探索边缘计算:物联网与5G时代的技术趋势

来源&#xff1a;世界物联网博览会边缘计算的诞生随着物联网规模的快速增长&#xff0c;集中式的数据存储、处理模式将面临难解的瓶颈和压力&#xff0c;此时在靠近数据产生的网络边缘提供数据处理的能力和服务&#xff0c;将是推动ICT产业发展的下一个重要驱动力。边缘计算&am…