-1

自分のレベルでベストを尽くしましたが、結果を得ることができませんでした。必要なのは、YYYY-MM-DD 形式の日付です。これが私の現在のコードです:

function AddDays(days) {

            var thisDate = new Date();
            thisDate.setDate(thisDate.getDate() + days);
            var dd = ( thisDate.getFullYear() + '-' + (thisDate.getMonth() + 1) + '-' + thisDate.getDate() );
            return dd;

        }

        alert(AddDays(365));

結果として「2014-8-7」を取得していますが、YYYY-MM-DD として取得したいと考えています。「2014-08-07」のようにする必要があります。

4

9 に答える 9

1

日付または月が 10 未満かどうかを確認する必要があります。そうであれば、日付または月の前に「0」を追加します。

function AddDays(days) {

        var dateObject = new Date();
        dateObject.setDate(new Date().getDate() + days);
        var year = dateObject.getFullYear();
        var month = dateObject.getMonth()+1 < 10 ? "0" + (dateObject.getMonth()+1) : dateObject.getMonth()+1;
        var date = dateObject.getDate() < 10 ? "0" + dateObject.getDate() : dateObject.getDate();
        return year + "-" + month + "-" + date;

}

alert(AddDays(365));
于 2013-08-07T06:55:47.333 に答える
1
var today = new Date();
console.log(today.getFullYear()+'-'+((today.getMonth()+1>9)?today.getMonth():'0'+(today.getMonth()+1))+'-'+(today.getDate()<10?'0'+today.getDate():today.getDate()));

これをいじる: - http://jsfiddle.net/Ge4cw/

以前にも尋ねられました:-

JS日付オブジェクトからYYYYMMDD形式の文字列を取得しますか?

于 2013-08-07T07:00:05.457 に答える
0

私は一度その問題に直面しました。私の解決策は、必要に応じてゼロを追加する関数を渡すことでした:

function addZero(date)
{
    if (date < 10)
       return "0"+date;
   return date;
}

以下:

function addZero(date)
{
    return (date < 10)? "0"+date : date;
}
于 2013-08-07T06:51:29.817 に答える
0

JavaScript での日付の書式設定に関するドキュメントはどこにありますか?

この答えはあなたを助けるはずだと思います。

thisDate.getMonth() および thisDate.getDate() は整数を返しますが、これは 1 桁のみの場合があります。「0」を追加するには、文字列に変換する必要があります。

var m = thisDate.getMonth()+1; // One digit month
m = '' + (m<=9 ? '0' + m : m); // Two digit month
于 2013-08-07T06:54:24.187 に答える
0
function AddDays(days) {

            var thisDate = new Date();
            thisDate.setDate(thisDate.getDate() + days);
            return thisDate;

        }

alert(getReadableDate(AddDays(365)));


function getReadableDate(date) {
        return [date.getFullYear(), fillZeroes(date.getMonth() + 1), fillZeroes(date.getDate())].join('-');

        function fillZeroes(text) {
            return (new Array(2 - (text || '').toString().length + 1)).join('0') + (text || '');
        }
    }
于 2013-08-07T06:50:20.653 に答える
-1

これを試して:

var thisDate = new Date();

alert(thisDate.getFullYear() + '-' + ("0" + (thisDate.getMonth() + 1)).slice(-2) + '-' + ("0" + (thisDate.getDate() + 1)).slice(-2));

フィドル

于 2013-08-07T06:54:30.453 に答える
-1

あなたはこれを必要とします:

function AddDays(days) {

            var thisDate = new Date();
            thisDate.setDate(thisDate.getDate() + days);
            var dd = ( thisDate.getFullYear() + '-' + ("0"+ (thisDate.getMonth() + 1)).slice(-2) + '-' + ( "0" + thisDate.getDate()).slice(-2) );
            return dd.toString('yyyy-MM-DD');;
        }
        alert(AddDays(365));

http://jsfiddle.net/w9fxr/1/

親愛なる友人をもう一度確認してください

于 2013-08-07T06:52:43.177 に答える
-1

アイデアのためだけに、明確に説明

http://blog.justin.kelly.org.au/simple-javascript-function-to-format-the-date-as-yyyy-mm-dd/

于 2013-08-07T06:52:57.853 に答える