JavaScript中能否通过毫秒值生成Date对象?日期加天数函数实现问题
解决方案
你代码中错误使用了不存在的全局getDate方法,JavaScript 的Date构造函数本身支持直接传入毫秒时间戳生成对应日期对象,只需将出错行修改为new Date(total)即可。
修正后的完整代码如下:
function AddDays(x,y){ // 将天数转换为毫秒值 let days_milli = y * 24 * 60 * 60 * 1000; // 获取原日期对象的毫秒时间戳 let days_millis = x.getTime(); // 计算相加后的总毫秒值 let total = days_milli + days_millis; // 通过总毫秒值构造新的日期对象 let date = new Date(total); return date; }
补充说明
- 如果需要实现日期减天数的需求,直接传入负数的
y参数即可,Date构造函数支持处理负数毫秒值 - 该方案会自动处理跨月、闰年、夏令时切换等特殊场景,无需额外做边界兼容
内容的提问来源于stack exchange,提问作者user16612111
相关产品推荐
相关产品推荐

