2

このリストを JavaScript で作成するにはどうすればよいですか。

-11 から +14 まで変化します。

ここに画像の説明を入力

var now = new Date();

Tue Apr 02 2013 20:48:11 GMT+0200 (中央ヨーロッパ夏時間)

Tue Apr 02 2013 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);

だから私は今それの一部ですが、全体をまとめることができません.

4

1 に答える 1

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));
}
于 2013-04-02T19:48:49.017 に答える