javascript - 使用 getTime() 转换日期数组
问题描述
这是我正在做的一个项目中的一段代码,我必须将日期转换为 getTime() 函数并将它们推送到一个新数组中,但是每次我这样做时,新数组都会打印为 NaN,我希望获得一些洞察我做错了什么以及如何解决这个问题。万分感谢 :)
dates = ["28/7/2020", "28/3/2020", "28/1/2020", "28/10/2020"]
// const MAX = dates[0]
// const MIN = dates[dates.length - 1];
const dateArr = [];
const DAY_IN_MS = 24 * 60 * 60 * 1000
for (i = 0; i < dates.length; i++) {
d = new Date(dates[i])
dateInMs = d.getTime();
parseInt(dateInMs);
console.log(dateInMs);
dateArr.push(dateInMs);
}
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
</body>
</html>
解决方案
您必须切换日期和月份,否则新日期将返回invalid date
例子:
const d = "28/7/2020";
const dateSplit = d.split("/")
new Date(`${dateSplit[1]}/${dateSplit[0]}/${dateSplit[2]}`)
将返回:Tue Jul 28 2020 00:00:00 GMT+0200 (Central European Summer Time)
您可以做的是用New date
以下内容替换您的行:
const dateSplit = dates[i].split("/")
const newDate = new Date(`${dateSplit[1]}/${dateSplit[0]}/${dateSplit[2]}`)
d = new Date(newDate)
要么尝试将初始格式更改为new Date
可以处理的东西。这将避免必须拆分和添加额外的代码
编辑:获取第一个日期和最后一个日期之间的天数。这是一个例子:
const minutes = 1000*60;
const hours = minutes*60;
const days = hours*24;
const date1 = new Date("7/28/2020").getTime();
const date2 = new Date("10/28/2020").getTime();
const dateDiff = Math.round((date2 - date1)/days);
console.log(dateDiff);
编辑2:要获得长度差异,您可以这样做(使用您在评论中提到的日期):
const dateArr = [];
let date1 = ("23/9/2020").split("/");
let date2 = ("29/9/2020").split("/");
const diffDays = date2[0] - date1[0]; // date1[0] = 23, date2[0] = 29
for (i = 0; i <= diffDays; i++) {
// content of the push would save each day between 23 and 29 as value... you can put whatever in here
dateArr.push(`${date1[0] + i}/9/2020`);
}
console.log(dateArr.length); // should equal 7
推荐阅读
- python - 如何查看火炬的确切安装位置 pip vs conda 火炬安装
- python - 类属性的高级类型提示
- python - 如何在没有 django-mptt 或任何其他库的情况下在 django 中构建嵌套评论系统?
- python-3.x - 为什么 shlex.split() 删除路径分隔符或将其加倍?
- datetime - 使用 dmore/behat-chrome-extension 设置日期时间字段的值
- python - 为什么print老是报错不支持str和int连接?print的用法是什么?
- r - 当表格出现在 pdf 文件的末尾时,apa_table() 返回空白结果
- javascript - 使用 jQuery 更新图像剪辑
- javascript - 反应 - 安装时不工作 npm
- azure - 本地 FTP 服务器文件夹迁移到 Azure 数据湖