我想在日期字符串中的T之前有一个字符串

时间:2017-04-16 06:45:03

标签: javascript json date

我有JSON这样的数据 - 19-04-2017T12:40:00,这是日期值,我想要之前的部分" T"并希望将此值转换为日期结构,例如2017年4月25日星期三。如何在javascript中实现这一点???

3 个答案:

答案 0 :(得分:1)

您可以使用String.prototype.slice()0使用参数10"T"将字符移至.split()"-"并{{1} }参数,Array.prototype.reverse().join()参数"/".slice()再次使用参数015获取所需的日期部分



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日星期三