0

「2012年10月9日」というテキストを表示しようとしています。代わりに、関数を実行しておらず、多くの不要な日付テキストを表示しています。誰かが私が間違っていることを知っていますか?

あなたは私のjsfiddleで遊ぶことができます... http: //jsfiddle.net/UP3fd/

これがコードです...

var myDate = new Date();

convertDate(myDate);

myDate.setFullYear(2012, 9, 9);

document.write(myDate);

function convertDate(d) {
    var day = d.getDate();
    if (day < 10) {
        day = "0" + day;
    }
    var year = d.getFullYear();
    var month = d.getMonth();
    var months=["Jan","Feb","Mar","Apr","May","June","July","Aug","Sep","Oct"," Nov","Dec"];
    var currentMonth = months[month];
    return (currentMonth + " " + day + ", " + year);
}
4

4 に答える 4

4

日付を設定する前に関数を呼び出しており、戻り値をどこにも保存/出力していません。

var myDate = new Date();

myDate.setFullYear(2012, 9, 9);

document.write( convertDate(myDate) );

function convertDate(d) {
    var day = d.getDate();
    if (day < 10) {
        day = "0" + day;
    }
    var year = d.getFullYear();
    var month = d.getMonth();
    var months=["Jan","Feb","Mar","Apr","May","June","July","Aug","Sep","Oct"," Nov","Dec"];
    var currentMonth = months[month];
    return (currentMonth + " " + day + ", " + year);
}
​
于 2012-10-30T14:36:29.503 に答える
0

これは正しいコードです:

var myDate = new Date();
myDate.setFullYear(2012, 9, 9);
myDate = convertDate(myDate);
document.write(myDate);

[...] 
于 2012-10-30T14:37:16.267 に答える
0

これが修正されたコードです。これにより、期待どおりの結果が返されるはずです。

var myDate = new Date();

myDate.setFullYear(2012, 9, 9);

var newDate = convertDate(myDate);

document.write(newDate);

function convertDate(d) {
    var day = d.getDate();
    if (day < 10) {
        day = "0" + day;
    }
    var year = d.getFullYear();
    var month = d.getMonth();
    var months=["Jan","Feb","Mar","Apr","May","June","July","Aug","Sep","Oct"," Nov","Dec"];
    var currentMonth = months[month];
    return (currentMonth + " " + day + ", " + year);

}
于 2012-10-30T14:42:00.790 に答える