1

こんにちは、「持ち上げられたコード」のミッシュマッシュである次のコードを使用しようとしていますが、今日の日付と時刻を送り続けています。

毎月第 1 火曜日の 19:00 の日付を取得しようとしています。

テスト目的で W3C School Try-it を使用しています。

<!DOCTYPE html>
<html>
<head>
<script>
function displayDate()
{

var myDate = new Date();
myDate.setHours(19, 00, 0, 0);
myDate.setYear(2013);

myDate.setDate(1);
myDate.setMonth();


//Find Tuesday
var tue = 2;

while(myDate.getDay() != tue) {
    myDate.setDate(myDate.getDate() + 1);

}

document.write(myDate);
</script>
</head>
<body>

<h1>My First JavaScript</h1>
<p id="demo">This is a paragraph.</p>

<button type="button" onclick="displayDate()">Display Date</button>

</body>
</html> 

ロイ

<==アップデート==>

うまく機能するコードを使用しましたが、翌月の第 1 火曜日が発生した後に考慮する必要があります。この if ステートメントを試しましたが、壊れました。

function getTuesday() {
    var datenow = new Date();
    var d = new Date(),
        month = d.getMonth(),
        tuedays= [];

    d.setDate(1);

    // Get the first Monday in the month
    while (d.getDay() !== 2) {
        d.setDate(d.getDate() + 1);
    }

    // Get all the other Tuesdays in the month
    while (d.getMonth() === month) {
        tuedays.push(new Date(d.setHours(17,00,00,00)));
        d.setDate(d.getDate() + 7);
    }
If (d.getDate() >= datenow.getDate)
{
    d.setMonth(d.getMonth() + 1);
    document.write(tuedays[1]);
}
Else
{
   document.write(tuedays[1]);
}


}
4

3 に答える 3

2

以下の関数を使用すると、現在の月の火曜日が得られます。

function getTuesday() {
    var d = new Date(),
        month = d.getMonth(),
        tuesdays= [];

    d.setDate(1);

    // Get the first Monday in the month
    while (d.getDay() !== 2) {
        d.setDate(d.getDate() + 1);
    }

    // Get all the other Tuesdays in the month
    while (d.getMonth() === month) {
        tuesdays.push(new Date(d.getTime()));
        d.setDate(d.getDate() + 7);
    }

    return tuesdays;
}
于 2013-01-25T09:46:45.210 に答える