Android 要按所需格式显示包含json响应日期的字符串吗

Android 要按所需格式显示包含json响应日期的字符串吗,android,titanium,appcelerator,appcelerator-mobile,Android,Titanium,Appcelerator,Appcelerator Mobile,我用的是钛 我有一个json响应,其中包含 { “开始时间:“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 + ''; i

我用的是钛 我有一个json响应,其中包含

{
“开始时间:“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;};
Alloy.Globals.getFormattedTime=函数(时间){
var-amPM='';
var d=新日期(时间);
变量月份=d.getMonth()+1;
月=月+“”;
如果(月长==1){
月份='0'+月份;
}
var day=d.getDate();
天=天+“”;
如果(day.length==1){
天='0'+天;
}
var year=d.getFullYear();
年份=年份+“”;
var currentHour=d.getHours();
如果(当前小时<12){
amPM='AM';
}否则{
amPM=‘PM’;
}
如果(当前小时==0){
当前小时=12;
}
如果(当前小时>12){
当前小时=当前小时-12;
}
currentHour=currentHour+“”;
如果(currentHour.length==1){
currentHour='0'+currentHour;
}
var currentMinute=d.getMinutes();
currentMinute=currentMinute+“”;
如果(currentMinute.length==1){
currentMinute='0'+currentMinute;
}
var currentSeconds=d.getSeconds();
currentSeconds=currentSeconds+“”;
如果(currentSeconds.length==1){
currentSeconds='0'+currentSeconds;
}
返回月份+“/”+天+“/”+年+“+currentHour+”:“+currentMinute+”:“+currentSeconds+”+amPM;};
有人能帮忙吗?
提前感谢

如果我的理解是正确的,您需要这样格式的日期:“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;  
}
函数格式日期(d){
var dd=d.getDate(),
yy=d.getFullYear(),
monthNames=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”,
“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”],
mm=月份[d.getMonth()],
hh=d.getHours(),
min=d.getMinutes();
如果(dd<10)dd='0'+dd;
如果(hh<10)hh='0'+hh;
如果(最小值<10)最小值='0'+最小值;
返回mm+''+dd+','+yy+'+hh+':'+min;
}

如果我所理解的内容确实正确,并且您需要如下格式的日期:“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;  
}
函数格式日期(d){
var dd=d.getDate(),
yy=d.getFullYear(),
monthNames=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”,
“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”],
mm=月份[d.getMonth()],
hh=d.getHours(),
min=d.getMinutes();
如果(dd<10)dd='0'+dd;
如果(hh<10)hh='0'+hh;
如果(最小值<10)最小值='0'+最小值;
返回mm+''+dd+','+yy+'+hh+':'+min;
}

选中

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

回到你的问题,使用MomentJS你需要做这么多,你可以把你从json对象得到的参数传递给MomentJS

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

希望这能帮助您减少代码行的数量。

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

回到你的问题,使用MomentJS你需要做这么多,你可以把你从json对象得到的参数传递给MomentJS

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

希望这能帮助您并减少代码行数。

您现在得到的输出是什么?您现在得到的输出是什么?谢谢@Roumelis George我尝试了您的代码。它正在工作。谢谢非常乐意帮助Bunny。既然它在工作,您能接受它并可能对它进行投票吗?)谢谢@Roumelis George我尝试了您的代码。它正在工作.谢谢你很乐意帮助小兔子。既然它起作用了,你能接受它,也许再投票给它吗;)