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 这样的重型库。
解决方案基本上是这样的:
- 准备月份编号和月份名称之间的映射。
- 将 YYYY-MM-DD 格式的输入日期拆分为各个部分(例如,用“-”拆分)
- 从步骤 1 中构建的地图中获取月份名称。
- 使用简单的字符串插值以目标格式重建日期。
像这样:
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) )
我有日期 2013-03-10
我怎样才能得到 March 10,2013
。我在 javascript 中尝试了很多 Date 函数,但无法获得正确的格式 above.Help 不胜感激。
我要回答这个问题只是因为我想分享一下,如果您只需要支持这两种格式,则没有必要使用 Date
对象或像 MomentJS 这样的重型库。
解决方案基本上是这样的:
- 准备月份编号和月份名称之间的映射。
- 将 YYYY-MM-DD 格式的输入日期拆分为各个部分(例如,用“-”拆分)
- 从步骤 1 中构建的地图中获取月份名称。
- 使用简单的字符串插值以目标格式重建日期。
像这样:
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) )