2015-07-03 21 views
0

我使用鈦 我有一個包含 { "start_time :"2015-06-24T14:00:00.000Z" }要顯示含JSON響應日期要求的格式

我想在以下格式的JSON響應字符串2015年6月24日14:00

現在我想下面的代碼,但我沒有得到任何成功

Alloy.Globals.getFormattedTime = function(time) { 
var amPM = ''; 
var d = new Date(time); 

var month = d.getMonth() + 1; 
month = month + ''; 
if (month.length == 1) { 
    month = '0' + month; 
} 

var day = d.getDate(); 
day = day + ''; 
if (day.length == 1) { 
    day = '0' + day; 
} 

var year = d.getFullYear(); 
year = year + ''; 

var currentHour = d.getHours(); 

if (currentHour < 12) { 
    amPM = 'AM'; 
} else { 
    amPM = 'PM'; 
} 

if (currentHour == 0) { 
    currentHour = 12; 
} 

if (currentHour > 12) { 
    currentHour = currentHour - 12; 
} 

currentHour = currentHour + ''; 
if (currentHour.length == 1) { 
    currentHour = '0' + currentHour; 
} 

var currentMinute = d.getMinutes(); 
currentMinute = currentMinute + ''; 

if (currentMinute.length == 1) { 
    currentMinute = '0' + currentMinute; 
} 

var currentSeconds = d.getSeconds(); 
currentSeconds = currentSeconds + ''; 

if (currentSeconds.length == 1) { 
    currentSeconds = '0' + currentSeconds; 
} 

return month + "/" + day + "/" + year + " " + currentHour + ':' + currentMinute + ':' + currentSeconds + " " + amPM;}; 

任何人都可以在這方面的幫助? 在此先感謝

+0

你現在得到的輸出是什麼? – Benten

回答

4

如果確實是我的理解是正確的,你需要格式化這樣的日期:「2015年6月24日14:00」,試試這個腳本:

function formatDate(d) { 
    var dd = d.getDate(), 
     yy = d.getFullYear(), 
     monthNames = ["January", "February", "March", "April", "May", "June", 
         "July", "August", "September", "October", "November", "December"], 
     mm = monthNames[d.getMonth()], 
     hh = d.getHours(), 
     min = d.getMinutes(); 


    if (dd < 10) dd = '0' + dd; 
    if (hh < 10) hh = '0' + hh; 
    if (min < 10) min = '0' + min; 

    return mm +' '+ dd +', '+ yy + ' ' + hh + ':' + min; 
} 

檢查working fiddle

+0

謝謝@Roumelis喬治 我試過你的代碼。 它正在工作。 非常感謝 – Bunny

+0

很高興幫助兔子。既然它工作,你可以接受它,也許upvote它;) –

+0

喜歡upvote ..但沒有足夠的聲譽:-) – Bunny

0

你也可以嘗試一下,這是一個處理日期的庫,它是一個圍繞date對象創建的包裝,你可以在這裏找到完整的文檔link

回到你的問題,我們在你需要做這麼多事情的時候,你可以將你從JSON對象獲得的參數傳遞給這個時刻。

var moment = require (alloy/moment); 
    var date = new moment("2015-06-24T14:00:00.000Z"); 
    date = date.format("MMMM DD, YYYY HH: MM"); 

希望這可以幫助你,並減少代碼行數。