setHours() javascript returns 与预期不同的格式
setHours() javascript returns a diffrent format then expected
我遇到这种情况需要使用 JavaScript
setTime()
这样我就可以根据我的秒数修改时间。例如,我想知道 1400 秒前是几点。
我得出的结论是,我最干净、最好的解决方案是结合使用
getDate() 和 setHours() - setMinutes() - setSeconds() 就像这个 link 中的示例一样:
https://codepen.io/Jaquelline/pen/rPgOKj?editors=1011
function myFunction() {
var myTime = new Array();
for(i=0; i <3599; i++){
var d = new Date();
var currentI = 3599-i;
myTime[i] = new Array();
myTime[i] = {
x: i,
y: d.setHours(d.getHours()-1) + ':' + d.setMinutes(d.getMinutes()) + ':'+ d.setSeconds(d.getSeconds()+currentI)
};
}
var s = JSON.stringify(myTime);
document.getElementById("cTimeArray").innerHTML =s;
var t = new Date();
t.setHours(t.getHours()-1);
t.setHours(t.getMinutes());
t.setHours(t.getSeconds()+1200);
document.getElementById("cTime").innerHTML =t;
}
s 变量 returns 像这样:
[{"x":0,"y":"1550821508351:1550821508351:1550825107351"},
{"x":1,"y":"1550821508351:1550821508351:1550825106351"},
同时 t returns :
Sun Apr 14 2019 08:45:08 GMT+0200 (Mitteleuropäische Sommerzeit)
如果您只想知道 1400 秒前的时间,那么为什么不直接从当前时间减去 1400 秒呢?
var past = new Date((new Date().getTime()) - 1400 * 1000);
getTime()
returns 表示 date/time 的时间戳(以毫秒为单位),因此是 1400 乘以 1000。
您没有显示正确的值。
之前设置d
并使用getters显示值。
var myTime = new Array();
for (i = 0; i < 3599; i++) {
var d = new Date();
var currentI = 3599 - i;
myTime[i] = {};
d.setHours(d.getHours() - 1);
d.setMinutes(d.getMinutes());
d.setSeconds(d.getSeconds() + currentI);
myTime[i] = {
x: i,
y: d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds()
};
}
var s = JSON.stringify(myTime);
console.log(s);
我遇到这种情况需要使用 JavaScript
setTime()
这样我就可以根据我的秒数修改时间。例如,我想知道 1400 秒前是几点。
我得出的结论是,我最干净、最好的解决方案是结合使用
getDate() 和 setHours() - setMinutes() - setSeconds() 就像这个 link 中的示例一样: https://codepen.io/Jaquelline/pen/rPgOKj?editors=1011
function myFunction() {
var myTime = new Array();
for(i=0; i <3599; i++){
var d = new Date();
var currentI = 3599-i;
myTime[i] = new Array();
myTime[i] = {
x: i,
y: d.setHours(d.getHours()-1) + ':' + d.setMinutes(d.getMinutes()) + ':'+ d.setSeconds(d.getSeconds()+currentI)
};
}
var s = JSON.stringify(myTime);
document.getElementById("cTimeArray").innerHTML =s;
var t = new Date();
t.setHours(t.getHours()-1);
t.setHours(t.getMinutes());
t.setHours(t.getSeconds()+1200);
document.getElementById("cTime").innerHTML =t;
}
s 变量 returns 像这样:
[{"x":0,"y":"1550821508351:1550821508351:1550825107351"}, {"x":1,"y":"1550821508351:1550821508351:1550825106351"},
同时 t returns :
Sun Apr 14 2019 08:45:08 GMT+0200 (Mitteleuropäische Sommerzeit)
如果您只想知道 1400 秒前的时间,那么为什么不直接从当前时间减去 1400 秒呢?
var past = new Date((new Date().getTime()) - 1400 * 1000);
getTime()
returns 表示 date/time 的时间戳(以毫秒为单位),因此是 1400 乘以 1000。
您没有显示正确的值。
之前设置d
并使用getters显示值。
var myTime = new Array();
for (i = 0; i < 3599; i++) {
var d = new Date();
var currentI = 3599 - i;
myTime[i] = {};
d.setHours(d.getHours() - 1);
d.setMinutes(d.getMinutes());
d.setSeconds(d.getSeconds() + currentI);
myTime[i] = {
x: i,
y: d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds()
};
}
var s = JSON.stringify(myTime);
console.log(s);