将日期格式化为 MMMYYYY JavaScript

问题描述

我想将日期格式化为 MMMYYYY 的日期格式。例如,如果从 new Date() 返回“Tue Jan 26 2021 12:45:59 GMT+0300”,那么我希望它显示为“Jan2021”。 我怎样才能使用 JS 做到这一点? 谢谢。

解决方法

您可以使用 Javascript 的内置日期函数并获得所需的输出。像下面的代码片段:

const months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec' ];

let date = new Date();
// For Jan month,getMonth will return 0. 
const currentMonth = date.getMonth();
const dateStr = months[currentMonth] + date.getFullYear();
console.log(dateStr);

JS 小提琴:https://jsfiddle.net/sagarag05/1bsj39ah/7/

请注意,月份名称为英文。因此,如果您有这些限制,它们不会本地化,这里不考虑。

,

toString() 方法返回一个表示指定日期对象的字符串。

let date = new Date().toString().split(" ")
let result = date[1]+date[3]
console.log(result) //Jan2021
,

您可以使用 .toString().slice(start,end) 方法,因此在您的示例中,如下所示: .toString().slice(4,11) 然后你得到 "Jan 26 2021" 或者你可以使用相同的方法将两个子字符串加在一起,比如 .substring(4,6) + .substring(10,13).

希望能帮到你 :D

,

像这样将月份存储到数组中,然后使用月份索引即可。

var monthNames = ["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"
];

var date = new Date()
date.setDate(date.getDate() - 1)
date = monthNames[date.getMonth()]+""+date.getFullYear()
,

您可以使用 toDateString() 然后拆分字符串以获取您想要的值。

>> date = new Date()

>> date = date.toDateString()

"Tue Jan 26 2021"

>> date.split(" ")[1] + date.split(" ")[3]

"Jan2021"