1

私が持っている日付入力は、例えば

var startDate = "January 16, 2013"

掘り下げようとした古い投稿から、 http: //www.javascripttoolbox.com/lib/date/documentation.php の date.js を使用する必要があるかもしれないことがわかりました。

だから私はそれを起動するために私のhtmlに余分な行を持っていました

<script src="http://prestigeswimming.com/wp-content/plugins/cred-frontend-editor/date.js" type="text/javascript"></script> 
<script type="text/javascript">
   var startDate = "January 16, 2013"
   alert(startDate.getMonthName());
</script>

「1月」という警告ボックスを取得するには、これを行う必要がありますか?

4

3 に答える 3

2

この新しいバージョンのラインを試してください:

var startDate = Date.parseString( "January 16, 2013");

ライブラリを使用するには、Date() オブジェクトを使用する必要があります。

parseString は、Date オブジェクトを返すそのオブジェクトの関数です。

于 2013-01-11T17:44:56.877 に答える
0

米国のロケールの日付のみを処理していて、任意の文字列入力を日付に解析する必要がある場合は、Sherlock.jsをチェックして文字列をDateオブジェクトに解析することもできます。次に、月の名前を取得するには、Javascriptで操作するだけです。

var Sherlocked = Sherlock.parse('January 16');
var month = Sherlocked.startDate.getMonth();
var months = ["January","February","March","April","May","June","July","August","September","October","November","December"];
alert(months[month]);

ただし、Sherlock.jsは年を解析しません。そのサポートが必要な場合は、Sherlockのプリプロセッサシステムを使用して自分で1年を解析できます。

開示:私はSherlock.jsの作成者です

于 2013-01-11T19:32:26.470 に答える
-1

ライブラリを使用する必要はありません。

var startDate = "January 16, 2013";
var d = new Date(startDate);
var month = d.getMonth() + 1;
var day = d.getDate();
var year = d.getFullYear();

alert(month + "-" + day + "-" + year);

http://jsfiddle.net/mPBSf/

以下は、日付形式を有効な ECMAScript 日付形式に変換します。

var startDate = "ApRiL 16, 2013";
var noCommas = startDate.replace(/\,/g,'');
var withDashes = noCommas.replace(/ /g,"-");

function monthsToNumbers(date)
{
  var months = ["january","february","march","april","may","june","july","august","september","october","november","december"];
  var year;

  date = date.toLowerCase();

  for(var i = 0; i < months.length; i++)
  {
    if(date.indexOf(months[i]) != -1)
    {
      if(i+1 < 10)
        date = date.replace(months[i],"0" + (i+1));
      else
        date = date.replace(months[i],i+1);
    }
  }

  year = date.match(/\d{4}/);
  date = date.replace(year, "");
  date = year + "-" + date;
  date = date.substring(0,date.length-1);

  return date;
}

var d = new Date(monthsToNumbers(withDashes));
var month = d.getMonth() + 1;
var day = d.getDate();
var year = d.getFullYear();

alert(d);

http://jsfiddle.net/kWzSv/1/

于 2013-01-11T17:50:04.700 に答える