Javascript日期对象-JSFIDLE中的不同值
我认为这是一个简单的问题 为什么在JSFIDLE中运行以下代码时会得到2015-11-04(新日期(145160639999)),但在浏览器控制台中运行相同代码时会得到2015-12-31(这是我期望的值) 我会想,在任何一种情况下,时区都会与客户端上运行的代码相同,为什么时区会使日期相差一个月以上呢Javascript日期对象-JSFIDLE中的不同值,javascript,date,jsfiddle,Javascript,Date,Jsfiddle,我认为这是一个简单的问题 为什么在JSFIDLE中运行以下代码时会得到2015-11-04(新日期(145160639999)),但在浏览器控制台中运行相同代码时会得到2015-12-31(这是我期望的值) 我会想,在任何一种情况下,时区都会与客户端上运行的代码相同,为什么时区会使日期相差一个月以上呢 function test() { var date = new Date(1451606399999); var year = date.getFullYear(); v
function test()
{
var date = new Date(1451606399999);
var year = date.getFullYear();
var month = date.getMonth();
var day = date.getDay();
var hours = date.getHours();
var minutes = "0" + date.getMinutes();
var seconds = "0" + date.getSeconds();
var formattedTime = year + '-' + month + '-' + day + ' ' + hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);
document.getElementById("myDiv").innerHTML = formattedTime;
}
令人困惑的是,
date.getMonth()
基于0,意味着0是一月,所以它应该是month=date.getMonth()+1
。同样令人困惑的是date.getDay()
实际上返回一周中的某一天(0是星期天,1是星期一…等等)。您要找的函数是date.getDate()
令人困惑的是,
date.getMonth()
是基于0的,意思是0是一月,所以它应该是month=date.getMonth()+1
。同样令人困惑的是date.getDay()
实际上返回一周中的某一天(0是星期天,1是星期一…等等)。您要找的函数是date.getDate()
Month是零基的,11=decemberMonth是零基的,11=decemberMonth是有意义的。我应该花更多的时间来检查我猜的定义。感谢有意义的回答。我应该花更多的时间来检查我猜的定义。谢谢你的回答
function test(){
var date = new Date(1451606399999);
var year = date.getFullYear();
var month = date.getMonth()+1;
var day = date.getDate();
var hours = date.getHours();
var minutes = "0" + date.getMinutes();
var seconds = "0" + date.getSeconds();
var formattedTime = year + '-' + month + '-' + day + ' ' + hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);
console.log(date);
document.getElementById("myDiv").innerHTML = formattedTime;
}