想要显示包含从json响应到所需格式的日期的字符串

时间:2015-07-03 07:51:17

标签: android titanium appcelerator appcelerator-mobile

我正在使用Titanium 我有一个包含的json响应 { "start_time :"2015-06-24T14:00:00.000Z" }

我正在尝试以下格式 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;};

有人可以帮忙吗? 提前致谢

2 个答案:

答案 0 :(得分:4)

如果我的理解确实是正确的,并且您需要这样的日期:'2015年6月24日14:00',请尝试以下脚本:

data-id="1"

检查working fiddle

答案 1 :(得分:0)

您还可以尝试使用moment.js,它是一个用于处理日期的库,它是围绕日期对象创建的包装器,您可以在此link找到完整的文档

回到你的问题,使用你需要做的瞬间js,你可以将你从json对象获得的参数传递给当下。

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

希望这可以帮助您减少代码行数。