我使用的是钛我有一个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;};
有人能帮忙吗?提前感谢
如果我所理解的确实是正确的,并且您需要这样格式的日期:'June 242015 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;
}
检查工作小提琴
您也可以尝试moment.js,它是一个处理日期的库,它是围绕日期对象创建的包装器,您可以在这个链接上找到完整的文档
回到你的问题,使用moment js,你需要做这么多,你可以把你从json对象得到的参数传递给moment。
var moment = require (alloy/moment);
var date = new moment("2015-06-24T14:00:00.000Z");
date = date.format("MMMM DD, YYYY HH: MM");
希望这能帮助你,减少代码行的数量。