我有一个类似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日。
答案 0 :(得分:1)
最简单的方法是将options
与toLocaleDateString
一起使用
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)
答案 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()));