22

所以,我正在尝试向图表添加一些标签,并且我想将它们添加到水平轴上的 6、12、18 和 24 小时。

我想为本地(计算机)时区以“hh:mm”格式(例如 23:10、05:10、11:10 和 17:10)编写这些时间?

有人可以帮我弄这个吗?

4

5 回答 5

40

基于如何向 JavaScript 日期对象添加 30 分钟?

var d1 = new Date ();
var d2 = new Date ( d1 );
d2.setHours ( d1.getHours() + 6 );

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date将展示如何操作 Date 对象。

添加了您的代码并进行了一些修复。编辑添加第二个document.write

<script type="text/javascript"> 
var timer = 24; 
var d1 = new Date(); 
var d2 = new Date();
d1.setHours(+d2.getHours()+(timer/4) ); 
d1.setMinutes(new Date().getMinutes()); 
document.write(d1.toTimeString("hh:mm"));
document.write(d1.getHours()+":"+d1.getMinutes());
</script>
于 2012-10-23T15:40:45.127 回答
9

试试这个

var today = new Date();
alert(today);
today.setHours(today.getHours()+6);
alert(today);
today.setHours(today.getHours()+6);
alert(today);
today.setHours(today.getHours()+6);
alert(today);
today.setHours(today.getHours()+6);
alert(today);
于 2012-10-23T15:51:27.747 回答
4
var MILLISECS_PER_HOUR = 60 /* min/hour */ * 60 /* sec/min */ * 1000 /* ms/s */;

function sixHoursLater(d) {
  return new Date(+d + 6*MILLISECS_PER_HOUR);
}

日期的数值是每个纪元的毫秒数,因此您只需向其添加毫秒数即可获得更新的数值。

前缀运算符将+日期转换为其数值。

于 2012-10-23T15:44:55.607 回答
2

这有帮助吗?

function getDateString(addT){
    var time = new Date();
    time.setHours(time.getHours() + addT );
    return ((time.getHours()<10)?"0":"")+time.getHours() + ':' + time.getMinutes();
}

然后就直接用它在图表上弹出你想要的数据了吗?

IE:

for (i=0;i<=24;i+=6){
    yourbox.innerHTML = '<p>'+getDateString(i)+'</p>'; 
}

或类似的东西;

于 2012-10-23T15:51:35.457 回答
2

我喜欢这样做

new Date(new Date().setHours(new Date().getHours() + 6))

或者

new Date(new Date().setHours(new Date().getHours() + 6)).toString()
于 2018-01-03T08:17:24.880 回答