在 JavaScript 中使用原生日期方法计算年龄给定 YYYY-MM-DD 格式的出生日期
给定 YYYY-MM-DD 的出生日期,我们可以使用本地日期
方法来计算一个人的年龄。
原生日期方法计算年龄给定 YYYY-MM-DD 格式的出生日期
首先是原理代码,下面有解释
const calculateAge = (birthday) => {
const ageDifMs = Date.now() - new Date(birthday).getTime();
const ageDate = new Date(ageDifMs);
return Math.abs(ageDate.getUTCFullYear() - 1970);
}
首先,我们使用生日输入构建了
calculateAge
函数,该函数需要一个日期字符串进行转换并用于计算年龄。我们从函数中减去
Date.now
,其中包含当前日期时间的时间戳(以毫秒为单位)我们构建了一个新的 Date 实例。然后,我们调用
getTime
来获取我们经过的生日的毫秒精度时间戳。然后将结果分配给
ageDifMs
然后,我们将
ageDifMs
提供给日期函数Object() {[native code]}
以接收ageDate,
,它是 1970 年 1 月 1 日午夜 UTC 形成的日期,加上由我们过去的时间。
下面是执行代码
console.log(calculateAge('2008-07-31'))
使用时的实例代码
<p id="placeholder">
<script>
message = calculateAge("2008-07-31")
document.getElementById("placeholder").innerHTML = message;
</script>
全部放一起,就是下面的效果:
<!-- 烨然Hvril/2024-08-09 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
const calculateAge = (birthday) => {
const ageDifMs = Date.now() - new Date(birthday).getTime();
const ageDate = new Date(ageDifMs);
return Math.abs(ageDate.getUTCFullYear() - 1970);
}
console.log(calculateAge('2008-07-31'))
</script>
<p id="placeholder">
<script>
message = calculateAge("2008-07-31")
document.getElementById("placeholder").innerHTML = message;
</script>
</body>
</html>
执行后(依次是终端与HTML页面)
文章作者:Administrator
文章链接:https://hvril.cn/archives/zai-javascript-time
版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0 许可协议,转载请注明出处!
评论