我有ISO 8061 2017-05-03T06:31:46.687123+00:00
,我想用D3将其转换为YYYY-MM-DD
。任何帮助将不胜感激。
答案 0 :(得分:2)
查看momentjs,特别是格式函数:https://momentjs.com/docs/#/displaying/
然后您可以编写如下内容:
moment("2017-05-03T06:31:46.687123+00:00").format("YYYY-MM-DD");
答案 1 :(得分:2)
由于您要使用d3.js
...请小心使用您正在使用的版本,因为函数名称发生了少量更改:
d3.time.format("%Y-%m-%d")
d3.timeFormat("%Y-%m-%d")
your_date = new Date('2017-05-03T06:31:46.687123+00:00')
var formatTime = d3.time.format("%Y-%m-%d");
new_date = formatTime( your_date ); // 2017-05-03
console.log(new_date);
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
your_date = new Date('2017-05-03T06:31:46.687123+00:00')
var formatTime = d3.timeFormat("%Y-%m-%d");
new_date = formatTime( your_date ); // 2017-05-03
console.log(new_date);
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.9.1/d3.min.js"></script>
答案 2 :(得分:0)
我认为这段代码可以使用,但我没有测试它,但你可以测试它并给我一个反馈吗
date = new Date('2017-05-03T06:31:46.687123+00:00');
year = date.getFullYear();
month = date.getMonth() + 1;
dt = date.getDate();
if (dt < 10) {
dt = '0' + dt;
}
if (month < 10) {
month = '0' + month;
}
console.log(year + '-' + month + '-' + dt);
&#13;
你也可以裁剪日期
dat.toISOString().substring(0, 10)
答案 3 :(得分:0)
当我找到这个库时 - https://date-fns.org/我更喜欢它而不是moment.js。 Date-fns是模块化的,您只能导入一种方法。与非模块化的时刻相比,这可以显着减少束大小.js:
import format from 'date-fns/format';
format('2017-05-03T06:31:46.687123+00:00', 'YYYY-MM-DD');