我有几个日期作为字符串,格式为:YYYY-MM-DD
。例如:
var origDate = '2009-09-13'
我想解析它们,以便它们只是作为月份(缩写或整月),日期,年份写出: 9月。 9,2009
..有没有办法在D3.JS或Moment.JS中执行此操作?
现在我正在使用这个D3公式来解析日期:
var format = d3.time.format("%Y-%m-%d").parse;
答案 0 :(得分:2)
有没有办法在D3.JS中执行此操作?
是。你的行
var format = d3.time.format("%Y-%m-%d").parse;
正在创建一个日期对象。您需要将格式应用于对象以获取所需的输出字符串:
// working date:
var string = '2009-05-01';
// set up a format
var format = d3.time.format("%Y-%m-%d");
// convert the date string into a date object:
var date = format.parse(string);
// output the date object as a string based on the format:
console.log(format(date));
// use the desired format
var format1 = d3.time.format("%B %d, %Y");
// output a date as a string in the desired format
console.log(format1(date));

<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
&#13;
答案 1 :(得分:1)
使用时刻就像这样:
var origDate = '2009-09-13'
mDate = moment(origDate);
console.log(mDate.format("DD/MM/YYYY"));
答案 2 :(得分:1)
在字符串上使用new Date
构造函数(它采用支持的格式),然后使用格式函数将每个月映射到其缩写并包含其他信息。
var abbr = 'Jan. Feb. Mar. Apr. May June July Aug. Sept. Oct. Nov. Dec.'.split(' ')
function format (date) {
return abbr[date.getUTCMonth()] + ' ' + date.getUTCDate() + ', ' + date.getUTCFullYear()
}
var origDate = '2009-09-13'
console.log(
format(new Date(origDate))
)
&#13;
Moment.js对象具有format
函数,该函数采用格式字符串。有关您可以使用的完整参数列表,请参阅the documentation on displaying。
var origDate = '2009-09-13'
console.log(
moment.utc(origDate).format('MMM. D, YYYY')
)
&#13;
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.js"></script>
&#13;