16

JavaScript を使用して YYYYMMDDHHMMSS 形式で日付を作成する方法は? たとえば、日付を 20131018064838 として取得したいとします。

4

3 に答える 3

16
var date = new Date();

alert( date.getFullYear() + ("0" + (date.getMonth() + 1)).slice(-2) + ("0" + date.getDate()).slice(-2) + ("0" + date.getHours() ).slice(-2) + ("0" + date.getMinutes()).slice(-2) + ("0" + date.getSeconds()).slice(-2) );

編集

function pad2(n) { return n < 10 ? '0' + n : n }

var date = new Date();
    
alert( date.getFullYear().toString() + pad2(date.getMonth() + 1) + pad2( date.getDate()) + pad2( date.getHours() ) + pad2( date.getMinutes() ) + pad2( date.getSeconds() ) );
于 2013-10-18T11:24:12.787 に答える
9

YYYYMMDDHHMMSS()関数を任意のDateオブジェクトに追加するための私の(ES5セーフ)メソッドは次のとおりです。

古いブラウザーでは、shim をObject.defineProperty実行するか、単に内部関数を に直接追加しDate.prototypeます。

Object.defineProperty(Date.prototype, 'YYYYMMDDHHMMSS', {
    value: function() {
        function pad2(n) {  // always returns a string
            return (n < 10 ? '0' : '') + n;
        }

        return this.getFullYear() +
               pad2(this.getMonth() + 1) + 
               pad2(this.getDate()) +
               pad2(this.getHours()) +
               pad2(this.getMinutes()) +
               pad2(this.getSeconds());
    }
});
于 2013-10-18T11:56:01.383 に答える
6

次のようにプロトタイプメソッドを使用してみてください。

<script type="text/javascript">

    Date.prototype.YYYYMMDDHHMMSS = function () {
        var yyyy = this.getFullYear().toString();
        var MM = pad(this.getMonth() + 1,2);
        var dd = pad(this.getDate(), 2);
        var hh = pad(this.getHours(), 2);
        var mm = pad(this.getMinutes(), 2)
        var ss = pad(this.getSeconds(), 2)

        return yyyy + MM + dd+  hh + mm + ss;
    };

    function getDate() {
        d = new Date();
        alert(d.YYYYMMDDHHMMSS());
    }

    function pad(number, length) {
        var str = '' + number;
        while (str.length < length) {
            str = '0' + str;
        }
        return str;
    }
</script>
于 2013-10-18T11:31:49.797 に答える