【发布时间】:2019-03-03 16:15:50
【问题描述】:
所以现在我只是想从 para 类中获取日期以打印到控制台。 Jquery 和 moment 都运行良好。现在这不会向控制台记录任何内容。我需要查看当前日期是否在任何具有 para 类的日期之后 x 天。在这一点上,我很乐意将课程日期记录到控制台。
js
const dates = $('.para');
dates.each((i, elem) => {
let parts = $(elem).text().split('/');
let dt = new Date(parts[2] ,parts[1], parts[0]).getTime();
let diff = Math.floor((dt - new Date().getTime()) / (86400 *
1000));
console.log('date:', $(elem).text(), 'days diff vs today:', diff);
});
html
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
<script src="moment.js"></script>
<script
src="https://cdnjs.cloudflare.com/
ajax/libs/jquery/3.3.1/jquery.slim.min.js" integrity="sha256-
3edrmyuQ0w65f8gfBsqowzjJe2iM6n0nKciPUp8y+7E=" crossorigin="anonymous">
</script>
<script src="forrealz.js"></script>
</head>
<body>
<p class="para">
11/18/2021
</p>
<p class="para">
09/12/1999
</p>
</body>
</html>
更新:在代码笔而不是 chrome 中尝试了这个,它可以工作,但数学是错误的。 “日期:” ” 2018 年 9 月 18 日 ” “天与今天的差异:” 284 “日期:” ” 1999 年 9 月 12 日 " "天与今天的差异:" -6837
【问题讨论】:
-
看看你的html代码也会很有帮助
-
i < element.length;看起来像是一个潜在的错字。你的意思是在那儿使用 $element 吗? -
但是,那里的循环并没有真正意义,因为元素一次只能是一个
p元素 -
另外,
formatted是一个字符串。我想formatted[i]只会输出一个字符。 -
为了测试我只有
23/05/2021
19/12/1999
标签: javascript jquery date momentjs