174

私はこのような日付形式を持ってい'2010-10-11T00:00:00+05:30'ます。MM/dd/yyyyJavaScriptまたはjQueryを使用するようにフォーマットする必要があります。誰もが私が同じことをするのを手伝ってくれます。

4

3 に答える 3

295

これを試して; JavaScriptの月は0インデックスであり、日は1インデックスであることに注意してください。

var date = new Date('2010-10-11T00:00:00+05:30');
    alert(((date.getMonth() > 8) ? (date.getMonth() + 1) : ('0' + (date.getMonth() + 1))) + '/' + ((date.getDate() > 9) ? date.getDate() : ('0' + date.getDate())) + '/' + date.getFullYear());

于 2012-07-21T11:48:02.560 に答える
182

他のすべての答えは問題を完全に解決しません。彼らはmm/dd / yyyyとしてフォーマットされた日付を印刷しますが、質問はMM / dd/yyyyに関するものでした。微妙な違いに気づきましたか?MMは、月が1桁の場合、先行ゼロで月を埋める必要があることを示します。したがって、常に2桁の数字になります。

つまり、mm / ddは3/31になりますが、MM/ddは03/31になります。

これを実現するための簡単な関数を作成しました。同じパディングが月だけでなく日にも適用されることに注意してください。これにより、実際にはこのMM / DD/yyyyになります。

function getFormattedDate(date) {
  var year = date.getFullYear();

  var month = (1 + date.getMonth()).toString();
  month = month.length > 1 ? month : '0' + month;

  var day = date.getDate().toString();
  day = day.length > 1 ? day : '0' + day;
  
  return month + '/' + day + '/' + year;
}


String.padStart()を使用したES2017の更新。IEを除くすべての主要なブラウザーでサポートされています。

function getFormattedDate(date) {
    let year = date.getFullYear();
    let month = (1 + date.getMonth()).toString().padStart(2, '0');
    let day = date.getDate().toString().padStart(2, '0');
  
    return month + '/' + day + '/' + year;
}

于 2013-04-02T12:59:18.703 に答える
52

ISO準拠のdateString

dateStringRFC282およびISO8601に準拠している場合:文字
列を日付コンストラクターに渡します。

const dateString = "2020-10-30T12:52:27+05:30"; // ISO8601 compliant dateString
const D = new Date(dateString);                 // {object Date}

ここから、日付ゲッターを使用して目的の値を抽出できます。

D.getMonth() + 1  // 10 (PS: +1 since Month is 0-based)
D.getDate()       // 30
D.getFullYear()   // 2020

非標準の日付文字列

非標準の日付文字列の場合:
文字列を既知の部分に分解してから、変数を日付コンストラクターに渡します。

新しい日付年、月インデックス[、日[、時間[、分[、秒[、ミリ秒]]]]]

const dateString = "30/10/2020 12:52:27";
const [d, M, y, h, m, s] = dateString.match(/\d+/g);

// PS: M-1 since Month is 0-based
const D = new Date(y, M-1, d, h, m, s);  // {object Date}


D.getMonth() + 1  // 10 (PS: +1 since Month is 0-based)
D.getDate()       // 30
D.getFullYear()   // 2020

于 2012-07-21T12:15:38.010 に答える