2011-09-10 46 views

回答

1

如果你開始玩這種日期格式,你將進入一個痛苦的世界。

更新

根據您的意見,我想看看重新格式化輸入日期時間(在JavaScript做到這一點)。 This question顯示了許多方法來做到這一點。

+0

感謝基督教。我沒有使用任何語言。我必須使用的日期輸出來自我正在使用的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]; 
} 

這會給你的jsDate作爲一個JavaScript Date對象,你可以用fullCalendar使用無太大問題。那月份的N.Names需要更改爲您的語言。

這是一個醜陋的工作解決方案。

編輯:一個清潔的解決方案是使用http://www.datejs.com/這似乎解析您的輸入就好了:P

+0

爲了說明問題,@Christian Payne的解決方案在大多數情況下都更加清晰,但是如果您真的無法更改輸入,那麼至少會讓您的編碼更進一步:) –

相關問題