好久没用JS写代码了,结果在计算日期时,出现了一个问题,困扰了我半天。最后终于搞清了问题的根源。

我选择月份列表项后,获得年份值和月份值,计算获得当月1号日期值和当月最后一天的日期值。

正确代码如下:

代码

 1 <script language="javascript">
 2 function selDate(y, m)
 3 {    
 4     //输出当月1号字符串
 5     document.form1.startDT.value=y+"-"+m+"-1";
 6     //计算下个月的年份(y)、月份值(m)
 7     if(m==12)
 8     {
 9         y++;
10         m=1;
11     }
12     else
13     {
14         m++;
15     }    
16     //生成下个月1日的Date值
17     var dt=new Date(y, m-1, 1);  //月份值0--11
18     //一天差值=86400000,将下月1日转换成数值,再相减,得上月最后一天Date值
19     var n=Date.parse(dt);
20     n -= 86400000;
21     var dt1=new Date(n);     
22     //输出当月最后一天日期字符串
23     document.form1.stopDT.value=dt1.getYear()+"-"+(dt1.getMonth()+1)+"-"+dt1.getDate();
24 }
25 </script>

开始我将“var dt=new Date(y, m-1, 1);”写成了“var dt=new Date(y, m, 1);”。而最后一句“dt1.getMonth()”没有加1。结果可想而知,明明是“2010-2-28”,输出的却是“2010-1-28”,而“2010-1-31”输出却是“2010-0-31”。

刚开始感觉莫名其妙,多试了,就找到了错误规律,发现月份值域是“0-11”而不是“1-12”。

希望下次过段时间没用JS后,本文能提醒我。

转载于:https://www.cnblogs.com/wangsj/archive/2010/02/14/1668288.html

JS日期函数getMonth()的值域是0--11相关推荐

  1. js日期函数--getMonth

     一. getMonth 方法返回 Date 对象中用本地时间表示的月份值.dateObj.getMonth()必选项 dateObj 参数为 Date    对象.说明要获取用全球标准时间 (UTC ...

  2. Js日期函数-Date方法

    Ⅰ- 壹 - Date对象 一 Date对象简介 日期和时间,在Web应用中随处可见,也必不可少.JS脚本内置了Date对象,该对象为我们提供了一些列操作时间和日期的方法. 1 使用时必须使用new来 ...

  3. ios使用js日期函数处理时的问题

    在开发过程发现,使用js日期函数new Date()方法求两个时间的差值时出现问题,在浏览器和安卓Android上都正常显示,在苹果iOS上则无法显示 后来发现iOS系统上不支持yyyy-mm-dd的 ...

  4. js日期函数表达天,时,分,秒

    function getTime() {var time = new Date();var year = time.getFullYear() //年var month = time.getMonth ...

  5. js 日期函数 将 js new Date() 转化为年月日时分秒

    let date = new Date(); let year = date.getFullYear(); //年let month = date.getMonth() + 1; //月let str ...

  6. JS日期简介(二)常用日期函数

    1,日期的构造函数 查看js构造函数内容,可以了解其所支持的参数类型 interface DateConstructor { new(): Date; new(value: number): Date ...

  7. Linux源码0.11解析:03_head.s

    本文解析head.s程序,主要分为 部分: 1 设置中断描述表(IDT) 2 设置全局描述符表(GDT) 3 检测A20总线打开 4 检测协处理器 5 开启分页机制 6 调用主函数 7 地址再探 在执 ...

  8. javascript时间格式format函数,js日期格式化函数

    我在之前有一篇文章,写的是"javascript时间戳函数",大家可以看一下,记录了js时间戳的转换,今天主要写的函数式日期格式化函数,我们有时候调用的new Date()不是格式 ...

  9. js 日期格式化和函数

    js 日期格式化和函数 formatDate: function(formatStr, fdate) {if (fdate) {if (~fdate.indexOf('.')) {fdate = fd ...

最新文章

  1. 2021年度(十四五)国家重点研发计划重点专项立项公示进展
  2. iOS 消息推送原理及实现总结
  3. 好的视频编解码网址和博文地址
  4. from torch._C import * ImportError: DLL load failed解决方法
  5. 百度地图 开发 乡镇级区域显示_Tableau导入乡镇级地图进行数据展示
  6. VMware-viewagent-direct-connection安装
  7. Typora颠覆写作体验的极简好用 Markdown 编辑器基本设置教程
  8. python iterable对象_一篇文章看懂 Python iterable,
  9. Pytorch中的train和eval模式详解
  10. CnPack Pascal 代码格式化工具测试版
  11. ID3算法的Python实现
  12. 【线性代数(1)】二阶三阶不等式
  13. 学会充分利用你的零碎时间
  14. 秦俊东北计算机博士,秦 俊 教授-云南大学省部共建教育部自然资源药物化学重点实验室...
  15. C语言利用顺序表求两个集合的差集
  16. 一次激光纠正近视手术引发的血案 【 激光纠正近视手术 本世纪最大骗局 】
  17. 全球首颗量子卫星炼成记:“墨子号”打造保密通信新产业
  18. locaspaceviewer图新地球卫星影像地图下载
  19. IDEA用Grep Console插件搭配Log4j2实现日志色彩
  20. Ubuntu18.04平台下C/C++编程环境搭建及OpenCV4.5.4安装

热门文章

  1. Junit内部解密之三: 单元测试用例运行的全过程
  2. HDFS2.x之RPC流程分析
  3. PHP 如何准确取得服务器地址IP[非代理]
  4. C#-修改图书借阅管理系统-错误与SQL server 2008错误、复制数据库
  5. 网站大访问量优化整体思路
  6. 数组之冒泡排序、选择排序
  7. webpack4.0各个击破(2)—— CSS篇
  8. 马哥2016全新Linux+Python高端运维班第七周作业
  9. VUEX源码学习笔记(第5~6章 共6章)
  10. python多线程下载文件