あなたは(前にゼロで一桁の月と日を表示するように)ゼロパディングを可能にするためにNumber
クラスを拡張できます。
Number.prototype.pad = function(size) {
var s = String(this);
while (s.length < (size || 2)) {s = "0" + s;}
return s;
}
pad
関数は、オプションのsize
パラメータを取ります。これは、デフォルト値2
で数値文字列の長さの合計を指定します。
あなたは次の3つのコンポーネント(結果を印刷するときpad
機能を使用して)に日付を分割するために、既存のコードを更新できます。あなたはよりエレガント以下の詳細なソリューションを探しているなら、あなたは意志
var createdDate = new Date('2013-01-21 01:23:44');
var date = createdDate.toLocaleDateString();
var day = createdDate.getDate();
var month = createdDate.getMonth() + 1; //months are zero based
var year = createdDate.getFullYear();
var time = createdDate.toLocaleTimeString().replace(/(.*)\D\d+/, '$1');
console.log(year + '-' + month.pad() + '-' + day.pad() + ' ' + time);
外部ライブラリを使用する必要があります。
これは役に立ちませんか? http://stackoverflow.com/questions/3552461/how-to-format-a-javascript-date – evolutionxbox
私は[Date.js](http://www.datejs。 com /)、JSの日付書式設定は大きな苦痛です。あなたはあまりにも多くのコードを書く必要があります。 –
あなたは 'dateformating library '(http://jacwright.com/projects/javascript/date_format/)を使うこともできます。たとえば' createdDate.format.format(' Ymd g:i A ') 'は' 2016-07-13 5:14 PM "' – evolutionxbox