2015-07-03 20 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"); 

希望这可以帮助你,并减少代码行数。