某某茶叶有限公司欢迎您!
金沙棋牌在线 > 服务器&运维 > Javascript 日期处理之时区问题_时间日期_脚本之家

Javascript 日期处理之时区问题_时间日期_脚本之家

时间:2019-12-23 05:08

复制代码 代码如下: //dateObj是一个日期对象,days表示给这个日期加多少天,比如说4,5 function dateAdd{ var tempDate = dateObj.valueOf(); tempDate = tempDate + days *金沙棋牌在线, 24 * 60 * 60 * 1000; tempDate = new Date; return tempDate; } //然后使用,创建一个日期对象 var dateValue = document.getElementById.value.split; var custArvDateTwoValue = new Date(dateValue[0],dateValue[1]-1,dateValue[2]); //调用dateAdd,加两天 custArvDateTwoValue = dateAdd(custArvDateTwoValue,2); var year = custArvDateTwoValue.getFullYear(); var month = custArvDateTwoValue.getMonth() + 1; var days = custArvDateTwoValue.getDate(); month = month <= 9 ? "0"+month : month; days = days <= 9 ? "0"+days : days; document.getElementById.value = year + "-" + month + "-" +days; 我在测试的时候发现,当document.getElementById.value的值是2009-10-31 返回的居然是2009-11-01 其它情况都是正确的,比如说输入2009-10-01,返回2009-10-03 我还试了今天和明年的每个月最后一天,只有2009-10-31出问题(我试了很多时间,只有这个时间有问题,难度这个月有32天) 当我试2009-10-31,返回的是2009-11-01也是正确的 最后发现原来是时区的问题,所以大家以后发现这类问题,可以看下时区是不是没对应上。

JS脚本: 复制代码 代码如下:

复制代码 代码如下:Date.prototype.dateAdd = function { var d = this; var k={'y':'FullYear', 'q':'Month', 'm':'Month', 'w':'Date', 'd':'Date', 'h':'Hours', 'n':'Minutes', 's':'Seconds', 'ms':'MilliSeconds'}; var n={'q':3, 'w':7}; eval('d.set'+k[interval]+'(d.get'+k[interval]+'*number)+')'); return d; } Date.prototype.dateDiff = function { var d=this, i={}, t=d.getTime(), t2=objDate2.getTime(); i['y']=objDate2.getFullYear; i['q']=i['y']*4+Math.floor/4)-Math.floor; i['m']=i['y']*12+objDate2.getMonth; i['ms']=objDate2.getTime; i['w']=Math.floor/-Math.floor/; i['d']=Math.floor-Math.floor; i['h']=Math.floor-Math.floor; i['n']=Math.floor-Math.floor; i['s']=Math.floor-Math.floor; return i[interval]; } dateAdd 方法 返回已添加指定时间间隔的日期对象。 dateObj.dateAdd 参数 dateObj 必选项。任意 Date 对象。 interval 必选项。字符串表达式,表示要添加的时间间隔。有关数值,请参阅“设置”部分。 number 必选项。数值表达式,表示要添加的时间间隔的个数。数值表达式可以是正数。 dateDiff 方法 返回两个日期对象之间的时间间隔。 dateObj.dateDiff 参数 interval 必选项。字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设置”部分。 dateObj, dateObj2 必选项。日期对象。用于计算的两个日期对象。 设置 interval 参数可以有以下值:

在需要显示时间的位置加上如下代码:复制代码 代码如下:

设置