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

复制代码 代码如下:

//dateObj是一个日期对象,days表示给这个日期加多少天,比如说4,5(天)
function dateAdd(dateObj,days){
var tempDate = dateObj.valueOf();
tempDate = tempDate + days * 24 * 60 * 60 * 1000;
tempDate = new Date(tempDate);
return tempDate;
}

//然后使用,创建一个日期对象
var dateValue = document.getElementById("XXYY").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("XX").value = year + "-" + month + "-" +days;

我在测试的时候发现,当document.getElementById("XXYY").value的值是2009-10-31
返回的居然是2009-11-01

其它情况都是正确的,比如说输入2009-10-01,返回2009-10-03
我还试了今天和明年的每个月最后一天,只有2009-10-31出问题(我试了很多时间,只有这个时间有问题,难度这个月有32天)

当我试2009-10-31,返回的是2009-11-01也是正确的

最后发现原来是时区的问题,所以大家以后发现这类问题,可以看下时区是不是没对应上。

时间: 2024-09-20 08:52:57

Javascript 日期处理之时区问题_时间日期的相关文章

JavaScript 获取当前时间戳的代码_时间日期

JavaScript 获取当前时间戳: 第一种方法: 复制代码 代码如下: var timestamp = Date.parse(new Date()); 结果:1280977330000 第二种方法: 复制代码 代码如下: var timestamp = (new Date()).valueOf(); 结果:1280977330748 以上代码将获取从 1970年1月1日午夜开始的毫秒数.二者的区别是,第一种方法的毫秒位上为全零,即只是精确到秒的毫秒数 如题所示,返回unix时间戳所对应的具体

IE与Firefox下javascript getyear年份的兼容性写法_时间日期

IE与Firefox下javascript getyear年份不同浏览器 JavaScript 的getyear年份函数兼容性问题 先举个例子 用 Firefox 上一些网站会看到这样的提示 现在时间是 106年8月8日 而用 ie 浏览器的话就显示正常的 2006年8月8日 原因就是 javascript 的兼容性问题 var today = new date(); var year = today.getYear(); 在 Firefox 里面 getYear 返回的是 "当前年份-1900

Javascript 日期对象Date扩展方法_时间日期

今天在网上摘抄了些js中操作日期的相关方法,现在与大家分享一下. 复制代码 代码如下: <script type="text/javascript"> Date.prototype.Format = function(fmt) { //author: meizz var o = { "M+" : this.getMonth() + 1, //月份 "d+" : this.getDate(), //日 "h+" :

javascript 出生日期和身份证判断大全_时间日期

if(document.form1.csrq.value==""){ alert("请填写出生日期!"); document.form1.csrq.focus(); return false; } if(document.form1.csrq.value==""){ alert("请填写出生日期!"); document.form1.csrq.focus(); return false; }else{ if(document.

javascript 下拉框显示当前日期_时间日期

需要增加的地方: 复制代码 代码如下: <option value="2010">2010</option> <option value="2011">2011</option> <option value="2012">2012</option> <option value="2013">2013</option> 测试代码: 复

javascript 年月日联动实现核心代码_时间日期

复制代码 代码如下: var StartYear = 1980; var EndYear = 2500; function MonthAndDay() { this.initDDL = function(objYear,objMonth,objDay,hidYear,hidMonth,hidDay) { this.init(objYear,objMonth,objDay,hidYear,hidMonth,hidDay); this.SelectChange(objYear,objMonth,ob

JavaScript 逼真图片倒计时实现代码_时间日期

距离发射升空还有: : :

javascript 格式化时间日期函数代码脚本之家修正版_时间日期

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] javascript格式化日期时间函数_时间日期_http://www.jb51.net/article/14753.htm

javascript获取当前日期时间及其它操作函数_时间日期

myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数) myDate.getHours();