Javascript 如何使用moment.js计算生日前的天数
HTML代码Javascript 如何使用moment.js计算生日前的天数,javascript,Javascript,HTML代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content=&
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Lab 3</title>
</head>
<body>
<form id ="form" action="" method="get" class="countdown">
<div class="countdown">
<label for="birthday">Enter your next birthday: </label>
<input type="date" name="birthday" id="birthday" required>
</div>
<div class="countdown">
<input type="submit" value="Submit"
</div>
</form>
<script src ="moment/moment.min.js"></script>
<script src="lab3.js"></script>
</body>
</html>
实验三
输入您的下一个生日:
这是因为您正在将amntOfTime
传递到moment()
amntOfTime
是一个相对的时间字符串,而不是日期字符串,所以它不应该传递给时刻
moment("2021-02-17").fromNow(); // "in 3 days"
moment("2021-02-17").fromNow(true); // "3 days"
所以应该已经是你想要的格式了。“瞬间”自动推断出,您需要在几天内(而不是几分钟或几秒钟内)将其恢复,所以您无需进一步转换
您的代码应该是:
let amntOfDays = moment(bDay).fromNow();
您可以使用.diff
函数获取生日前的天数
函数将返回一个数字,然后您必须更新您的消息:
const amntOfDays = moment(bDay).diff(moment(), "day")
当生日超过一个月时,我会在几个月内收到我的输出,而不是几天。
const amntOfDays = moment(bDay).diff(moment(), "day")