使用jQuery更改日期格式

时间:2018-08-27 08:39:53

标签: javascript date

我有一个类似2018-08-27T09:28:53这样的API的日期,现在我想将其转换为2018年8月27日这样的格式。

我尝试使用此

var d = new Date(val.date);
d = d.toDateString();

上面的代码给出的日期类似于2018年7月27日。如何添加逗号并分隔月份和年份?

是否有更好的方法将iso 8601日期格式化为所需格式,例如2018年8月27日。

4 个答案:

答案 0 :(得分:1)

最简单的方法是将optionstoLocaleDateString一起使用

var d = new Date(val.date);
var options = { year: 'numeric', month: 'long', day: 'numeric' };
d = d.toLocaleDateString("en-US", options)

var d = new Date();
var options = { year: 'numeric', month: 'long', day: 'numeric' };
console.log( d.toLocaleDateString('en-US', options) );

答案 1 :(得分:0)

最简单的方法是使用date.js

var date = new Date('2018-08-27');
var newDate = date.toString('dd-MM-yy');

或者您可以诞生:

var dateAr = '2018-08-27'.split('-');
var newDate = dateAr[1] + '-' + dateAr[2] + '-' + dateAr[0].slice(-2);

console.log(newDate);

答案 2 :(得分:0)

纯js:

let objDate = new Date(),
    month = objDate.toLocaleString('en-us', { month: 'long' }),
    day = objDate.getDate(),
    year = objDate.getFullYear()
    
console.log(`${month} ${day}, ${year}`)

let objDate = new Date(),
    date = objDate.toLocaleString('en-us', { year: 'numeric', month: 'long', day: 'numeric' })

console.log(date)

More about toLocaleString.

答案 3 :(得分:0)

您可以为此使用一些插件,例如momentjs,或使用以下代码:

function formatDate(date) {
    var months = [
        "January", "February", "March", "April", "May", "June", "July",
        "August", "September", "October", "November", "December"
    ];

    var d = date.getDate(),
        m = date.getMonth(),
        y = date.getFullYear();

    return months[m] + ', ' + d + ' ' + y;
}

console.log(formatDate(new Date()));