如何在javascript中创建此列表:
从-11到+14。
var now = new Date();
给我这个: 2013年4月2日星期二20:48:11 GMT + 0200(中欧夏令时)
2013年4月2日星期二20:48:11 GMT + 0200就足够了,但是有了完整的日期,它会更好。然后我仍然需要创建一个列表。我可以在javascript中创建一个选择选项,例如
var time = document.getElementById('time');
time.options[time.options.length] = new Option(value, text);
time.options[time.options.length] = new Option(value, text);
所以我现在已经完成了部分内容但不能将整个事情放在一起。
答案 0 :(得分:1)
使用非UTC方法时,无法更改输出日期的本地时区,因此我们需要作弊。相反,我们将创建不同的日期(UTC)并假装它们位于我们想要枚举的时区中:
var options = [],
dayNames = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
for (var i=-11; i<=14; i++) {
var d = new Date(); // now
d.setUTCHours(d.getUTCHours() + i); // translate
// format:
var na = dayNames[d.getUTCDay()],
mo = monthNames[d.getUTCMonth()],
da = d.getUTCDate(),
ye = d.getUTCFullYear(),
ho = ("0"+d.getUTCHours()).slice(-2),
mi = ("0"+d.getUTCMinutes()).slice(-2),
of = (i<0?"-":"+")+("0"+Math.abs(i)+"00").slice(-4);
var text = na+", "+mo+" "+da+", "+ye+" - "+ho+":"+mi+" "+of;
options.push(new Option(i, text));
}