2011-09-10 95 views
0

'FullCalendar' jQuery pluginを使用していますが、日付の文字列データの形式は、dd-MMM-yyyy HH:mm:ssの形式のみです。FullCalendar jQueryプラグインで使用できる日付形式を変更する方法

これをFullCalendarプラグインに解析して、プラグインが受け入れる適切な日付形式の1つにするにはどうすればよいですか?

私はformatDateを利用する必要があると仮定しますが、私はどのようにこれを使うべきかわかりません。

答えて

1

あなたがそのような日付形式で遊び始めると、痛みの世界に入り込むでしょう。

あなたのコメントに基づいて更新

、私はあなたの入力日付(JavaScriptでこれを行う)を再フォーマットになります。 This questionはこれを行うための多くの方法を示しています。

+0

感謝クリスチャン:クリーナーソリューションは、うまく自分の入力を解析しているようだhttp://www.datejs.com/を使用することです。私は言語を使用していません。私が使用している日付出力は、私が使用しているCMSからのもので、私はそれを制御できません。私は与えられた日付形式をFullCalendarが受け入れるように変換する必要があります。これはあまりにも難しいと思いますか?私は代わりを見つけるべきですか? –

1

私はこの答えのためのいくつかのdownvotesを得ることができると思いますにもかかわらず、ここで我々は

function myParseDate(indate){ //indate in your format eg. '15-September-2011 13:37:00' 
    var datearraytmp1 = indate.split('-'); 
    var datearraytmp2 = datearraytmp1[2].split(' '); 
    var datearraytmp3 = datearraytmp2[1].split(':'); 
     var datearray = [datearraytmp1[0], datearraytmp1[1], datearraytmp2[0], datearraytmp3[0], datearraytmp3[1], datearraytmp3[2]]; 
    var jsDate = new Date(datearray[2], monthStringToNumber(datearray[1]), datearray[0], datearray[3], datearray[4], datearray[5], 0); 
} 


var monthNames = {"January":0, "February":1, "March":2, "April":3, "May":4, "June":5, "July":6, "August":7, "September":8, "October":9, "November":10, "December":11}; 
function monthStringToNumber(monthname) { 
    return monthNames[monthname]; 
} 

:-)行く。これは、あなたはあまりせずにfullCalendarで使用できるJavaScriptのDateオブジェクトとしてあなたにjsDateを与えます問題。 N.BそのmonthNamesはあなたの言語に変更する必要があります。

これは醜いが実用的な解決策です。

編集:P

+0

ちょっと分かりやすくするために、@Christian Payneの解決策はほとんどの場合、より洗練されていますが、本当に入力を変更できない場合、これは少なくともあなたのコーディングでさらに少しだけ得るでしょう:) –

関連する問題