0

「2012 年 12 月 1 日」のように Date() toString を変換、解析、またはフォーマットするソリューションが必要です。この例は String: 'mmm d, yyyy' ですが、うまくいきません。

4

3 に答える 3

1

文字列を日付に変換するか、その逆にするかについての質問は不明です。

Dateオブジェクトを探している形式に変換するには:

function dateToString(d) {
  var month = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'][d.getMonth()];
  return month + ' ' + d.getDate() + ', ' + d.getFullYear();
}

指定された形式の文字列を に変換するにはDate:

function stringToDate(s) {
  var match = s.match(/^(\w{3}) (\d{1,2}), (\d{4})$/);

  if (match) {
    var month = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'].indexOf(match[1]);
    return new Date(match[3], month, match[2]);
  } else {
    return undefined;
  }
}

stringToDateが必要であることに注意してくださいArray.indexOf。これはすべてのブラウザーでサポートされているわけではありませんが、shim することができます。

于 2013-01-03T10:33:01.553 に答える
0

日付を手動で解析することをお勧めします。

この関数を使用します:

//yyyy-mm-dd形式で日付を解析します
関数parseDate(input){
   var Parts = input.match(/(\ d +)/ g);
   // new Date(year、month [、date [、hours [、minutes [、seconds [、ms]]]]])
   新しい日付を返す(parts [0]、parts [1] -1、parts [2]); //月は0ベースです
}
于 2013-01-03T10:09:49.337 に答える
0
dateFormat(Date(), "mmm d, yyyy");

動作しません?

ここを参照してください:

http://blog.stevenlevithan.com/archives/date-time-format

まあ、申し訳ありません-ちょうど見た、あなたは含める必要があります:

http://stevenlevithan.com/assets/misc/date.format.js

最初のリンクで説明されているように機能させるには...

于 2013-01-03T10:11:35.160 に答える