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

Custom date format in javascript form date format yyyy-mm-dd

我有日期 2013-03-10 我怎样才能得到 March 10,2013。我在 javascript 中尝试了很多 Date 函数,但无法获得正确的格式 above.Help 不胜感激。

我要回答这个问题只是因为我想分享一下,如果您只需要支持这两种格式,则没有必要使用 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');

您可以使用 Date.toLocaleString :

var options = { month: 'long', day: 'numeric', year: 'numeric' }

console.log( new Date('2013-03-10').toLocaleString('en-US', options) )