You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询D3.js解析后时间戳的直接操作方法

解决方法

你不需要把时间转成字符串修改后重新解析,有两种更直接的方式将时分秒设为0:

方法一:直接操作Date对象

D3通过d3.timeParse解析得到的d3ts本质是JavaScript的Date实例,所以可以直接用Date原生方法修改时分秒:

// 将时、分、秒、毫秒都设为0
d3ts.setHours(0, 0, 0, 0);

这个操作会直接修改原d3ts对象,使其变为当天的00:00:00时刻。

方法二:使用D3的时间取整函数

D3提供了专门的时间工具函数来快速获取某一时间单位的起始时刻,比如d3.timeDay.floor()可以直接把时间向下取整到当天的起始点:

var startOfDay = d3.timeDay.floor(d3ts);

这种方法不会修改原时间对象,返回一个新的Date实例,更符合D3的使用习惯。

内容的提问来源于stack exchange,提问作者Stefan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 05:45:31