我有JSON这样的数据 - 19-04-2017T12:40:00,这是日期值,我想要之前的部分" T"并希望将此值转换为日期结构,例如2017年4月25日星期三。如何在javascript中实现这一点???
答案 0 :(得分:1)
您可以使用String.prototype.slice()
,0
使用参数10
,"T"
将字符移至.split()
,"-"
并{{1} }参数,Array.prototype.reverse()
,.join()
参数"/"
,.slice()
再次使用参数0
,15
获取所需的日期部分
var date = String(
new Date("19-04-2017T12:40:00".slice(0, 10)
.split("-").reverse().join("/"))
).slice(0, 15);
console.log(date);

答案 1 :(得分:1)
如果您可以使用外部库,那么momentjs是最好的之一。
var data = {
"selectedOnwardFlight": [
{
"lstExtraServices": [],
"flightDuration": "1:20",
"departuretime": "19-04-2017T12:40:00",
"arrivalairport": "GOI_Dabolim, Goa",
"segment": 1,
"departureairport":
"BOM_Chhatrapati Shivaji International, Mumbai",
"mac": "6E_Indigo Airlines",
"fno": "5924",
"dpartTerInfo": "1",
"oac": "6E",
"arrivaltime": "19-04-2017T14:00:00",
"arrivalTerInfo": ""
}
]
}
var date = moment(data.selectedOnwardFlight[0].arrivaltime, "DD-MM-YYYYThh:mm:ss")
// You need to specify input date format
console.log(date.format("ddd, DD, MMM, YYYY"))
// After creating moment date object, you can get date in almost any format.
2017年4月19日星期三
有关更多解析和输出格式,请检查momentjs docs
答案 2 :(得分:0)
使用时刻javascript库并在下面的函数中传递你的json值
function formatDate(jValue) {
var l = jValue.split("T")[0].split("-");
var r = l[2] + "-" + l[1] + "-" + l[0];
var o = moment(r);
return o.format("LLLL").split(',')[0].trim() + ", " + o.date() + " " + o.format("lll").split(",")[0].split(" ")[0].trim() + ", " + o.year()
}
提供" 19-04-2017T12:40:00"作为参数o / p是2017年4月19日星期三