Javascript 日期对象 - JSFiddle 中的不同值
Javascript Date Object - Different Value in JSFiddle
这个我觉得比较简单
为什么我在 JSFiddle (new Date(1451606399999) 中 运行 以下代码时得到 2015-11-04,但是当我在浏览器控制台中 运行 相同的代码时,我得到2015-12-31(这是我期望的值)。
我原以为在任何一种情况下,时区都与客户端上的代码 运行ning 相同,为什么时区会使日期相差超过一个月?
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()
实际上是 returns 星期几(0 是星期日,1 是星期一......等等)。您要查找的函数是 date.getDate()
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;
}
这个我觉得比较简单
为什么我在 JSFiddle (new Date(1451606399999) 中 运行 以下代码时得到 2015-11-04,但是当我在浏览器控制台中 运行 相同的代码时,我得到2015-12-31(这是我期望的值)。
我原以为在任何一种情况下,时区都与客户端上的代码 运行ning 相同,为什么时区会使日期相差超过一个月?
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()
实际上是 returns 星期几(0 是星期日,1 是星期一......等等)。您要查找的函数是 date.getDate()
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;
}