1

現在、日付を「2012年10月5日」タイプの形式で出力する必要があります。先行ゼロ、スペース、完全な月の名前、コンマ、スペース、4桁の年を含まない日を意味します。これはJavaScriptで行う必要があります。私はこれを機能させていますが、長いコードを書いているときに、誰かがこれを行うためのより良い方法をすでに理解しているに違いないことに気づきます。

これを私が望むように正確にフォーマットするJavaScriptの組み込み関数はないと思います。PHPには。が付いているだけのものがありますdate()。同じことをするJavaScript用のプラグインはありますか?

具体的な例を示すために、この例では、日付を取得する必要がある将来の設定された時間数から開始します。

現在私は持っています:

    var myNow = new Date().getTime();
    var myTime = hours * 60 * 60 * 1000;
    var myDate = new Date(myTime + myNow);
    var myDay = myDate.getDate();
    var myMonthNum = myDate.getMonth();
    var myMonth = '';
    var myYear = myDate.getFullYear();

    switch(myMonthNum) {
        case 0:
            myMonth = 'January';
            break;
        ...

    var completeDate = myDate = " " + myMonth + ", " + myYear;
    $('#theEndDate').html(completeDate);
4

3 に答える 3

3

Dateいいえ、オブジェクトには何も組み込まれていませんが、それらを処理してフォーマットするためのライブラリがたくさんあります。

于 2012-09-28T01:01:20.143 に答える
1

クリーンアップできる無関係なコードがいくつかあります。

var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
    today = new Date(),
    completeDate = today.getDate() + " " + months[today.getMonth()] + ", " + today.getFullYear();

$('#theEndDate').html(completeDate);

ライブラリを使用することが常に答えであるとは限りません。特に、ライブラリを1か所でのみ使用する場合はそうです。

于 2012-09-28T01:36:46.447 に答える
-1

日付ライブラリはたくさんありますが、日付オブジェクトから特定の形式を1つ生成するだけの場合は、非常に簡単です。

var formatDate = (function() {

  var months = ['January','February','March','April','May','June',
      'July','August','September','October','November','December'];

  return function(date) {
    return date.getDate() + ' ' + months[date.getMonth()] + ', ' + date.getFullYear();
  }
}());

alert(formatDate(new Date())); // 28 September, 2012

5分もかからなかったと思います。

于 2012-09-28T05:15:29.363 に答える