因此,后端将日期作为'2019-05-30T00:00:00.000Z'提供给前端。
我试图在前端以30-May-2019的形式呈现。
所以...
let date = new Date( Date.parse('2012-01-26T13:51:50.417-07:00') );
我一直在尝试使用MDN JavaScript Date文档
但是,如何开始修改Date对象并控制所需的输出呢?
因此,后端将日期作为'2019-05-30T00:00:00.000Z'提供给前端。
我试图在前端以30-May-2019的形式呈现。
所以...
let date = new Date( Date.parse('2012-01-26T13:51:50.417-07:00') );
我一直在尝试使用MDN JavaScript Date文档
但是,如何开始修改Date对象并控制所需的输出呢?
formatDate(value) {
let date = new Date(value);
const day = date.toLocaleString('default', { day: '2-digit' });
const month = date.toLocaleString('default', { month: 'short' });
const year = date.toLocaleString('default', { year: 'numeric' });
return day + '-' + month + '-' + year;
}
这里使用 toLocaleString()
方法获取月份的名称,否则你需要一个包含所有月份名称的数组来匹配 date.getMonth()
的输出,因为它只返回数字(从0开始计数)(例如,一月是0)
const monthNames = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"
];
month = monthNames[date.getMonth()];
let date = new Date( Date.parse('2012-01-26T13:51:50.417-07:00') );
console.log(`${date.getDate()}-${date.toLocaleString('default', { month: 'long' })}-${date.getFullYear()}`);
另一种方法是在其余的格式化中也使用 toLocaleString()
:
let date = new Date( Date.parse('2012-01-26T13:51:50.417-07:00') );
dateFormatted = date.toLocaleString('default',{day: 'numeric', month: 'long', year: 'numeric'});
console.log(dateFormatted);
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString
function formatDate(dateString) {
let date = new Date(dateString),
day = date.getDay(),
month = date.getMonth(),
year = date.getFullYear(),
months = ['January','February','March','April','May','June','July','August','September','October','November','December'];
return day + '-' + months[month] + '-' + year;
}
预定义函数和数组。
Array.prototype.indexOf()
吗? - Yevhen Horbunkov
.getDate
,.getMonth
,.getFullYear
)。 - Jaromanda Xnew Date(Date.parse(string))
中使用Date.parse是多余的,new Date(string)
将产生相同的结果。 - RobG