JavaScript 格式的自定义日期格式 日期格式 yyyy-mm-dd



我有日期2013-03-10我怎样才能得到March 10,2013 .我在javascript中使用Date函数尝试了很多,但无法获得上面给出的正确格式。应该感谢帮助。

您可以使用

Date.toLocaleString:

var options = { month: 'long', day: 'numeric', year: 'numeric' }
console.log( new Date('2013-03-10').toLocaleString('en-US', options) )

我将回答这个问题,只是因为我想分享的是,如果您只需要支持这两种格式,则没有必要使用 Date 对象或像 MomentJS 这样的繁重库。

解决方案基本上是这样的:

  1. 准备月份编号和月份名称之间的映射。
  2. 将 YYYY-MM-DD 格式的输入日期分解为单独的组件(例如,用"-"拆分(
  3. 从步骤 1 中构建的地图中获取月份名称。
  4. 使用简单的字符串插值以目标格式重建日期。

像这样:

var MONTH_NAMES = {
  1: 'January',
  2: 'February',
  3: 'March',
  ....
};
function convertDateFormat(inputDate) {
  var components = inputDate.split('-');
  var year = components[0];
  var month = MONTH_NAMES[components[1]];
  var day = components[2];
  return month + ' ' + day + ', ' + year;
}
convertDateFormat('2013-03-10');

最新更新