JavaScript中的setMonth()方法的小问题
来源:互联网 发布:会计用哪些软件 编辑:程序博客网 时间:2024/04/27 20:38
今天测试人员发现一个问题,从英文日期转化中文日期,月份总会有“6月”变为“7月”。于是我在本地反复测试,发现如下规律:只要setMonth()的参数为小于31天的月份时就会变为下一个月。
原因是:因为当前月份是31天,而设置的月份小于31天,就会把日期顺延。在setMonth的说明是这样的:
setMonth 方法
设置 Date 对象中用 本地时间表示的月份值。
dateObj.setMonth(numMonth[, dateVal])
参数
dateObj
必选项。任意 Date 对象。
numMonth
必选项。一个等于月份值的数值。
dateVal
可选项。一个代表日期的数值。如果没有提供此参数,那么将使用通过调用 getDate 方法而得到的数值。
所以,从对dataVal参数的说明可以看出,在设置月份的同时,使用getDate获取日期,并使用得到的日期值设置了日期。于是就会发生月份顺延的情况。
解决方法:
1、设置月份时,将日期设为1,记setMonth(month, 1),当然可以在setMonth之前先调用setDate()设置日期;
2、也可以在初始化Date对象时,就指定一个日期,也就是使用:dateObj = new Date(year, month, date[, hours[, minutes[, seconds[,ms]]]]) 的形式。
3、也可以使用setFullYear()同时设置年、月、日,即setFullYear(numYear[, numMonth[, numDate]])。
- JavaScript中的setMonth()方法的小问题
- JavaScript中的setMonth()顺延问题及解决方法
- JS中日期方法setMonth的问题
- javascript日期对象setMonth方法
- javascript中日期Date类的setMonth问题 多一个月
- 自定义SetMonth方法
- Javascript中的小问题:undefined
- JavaScript中的删除小问题
- javascript中的成员函数调用的一个小问题
- javascript使用过程中的几个小问题
- javascript常用的小方法
- 一个javascript的小问题
- javascript表单的小问题
- 关于JavaScript中的方法是否加括号的问题
- Javascript中的match方法潜在问题
- Javascript 中的小括号 “()” 的多义性
- javascript中的数据类型的问题
- Javascript 写的去空格小方法
- EditPlus 2.12 使用技巧集萃
- 腾讯今天发布linux版QQ :Tencent QQ for Linux 1.0 Preview
- 每天学一点flash(50) flash,我该学些什么?
- MultiByteToWideChar和WideCharToMultiByte用法详解
- Java 设计模式与建模专题
- JavaScript中的setMonth()方法的小问题
- JM8.5中的7种宏块模式问题
- tomcat 安装和路径等说明
- su, su - 以及sudo
- 快速導出Excel
- 抽象类和接口的区别
- Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: null
- "未将对象引用设置到对象的实例"异常的原因
- 可拖拽层