【发布时间】:2020-07-27 19:17:27
【问题描述】:
我正在制作这个年龄计算器网站,它使用 JS 中的 Date 对象,并通过减去当前时间(以毫秒为单位)和用户的出生日期(以毫秒为单位)计算他们以不同单位(年、月、日等)的年龄并输出它到 html。
它在 windows 和 android 上是完全可用的,但是,当网站在 IOS 中加载时,它返回 NaN。我不知道它是否与 parseInt() 函数或在这两个平台中自动完成而在 IOS 中没有完成的事情有关。这里是网站供参考:https://hesamzakeri.ir/en/
<div id="years"></div>
<div id="months"></div>
<div id="days"></div>
<div id="hours"></div>
<div id="minutes"></div>
<div id="seconds"></div>
<script>
let currentTime = Date.now();
let birthday = new Date(2002 + '-' + 07 + '-' + 04); // example
let birthday = Date.parse(birthday);
let age = currentTime - birthday;
let yearsOld = parseInt(age / 1000 / 60 / 60 / 24 / 365, 10);
let yearsOldInMs = yearsOld * 365 * 24 * 60 * 60 * 1000;
let monthsOld = parseInt((age - yearsOldInMs) / 1000 / 60 / 60 / 24 / 30.417, 10);
let monthsOldInMs = monthsOld * 30.417 * 24 * 60 * 60 * 1000;
let daysOld = parseInt((age - (yearsOldInMs + monthsOldInMs)) / 1000 / 60 / 60 / 24, 10);
let daysOldInMs = daysOld * 24 * 60 * 60 * 1000;
let hoursOld = parseInt((age - (yearsOldInMs + monthsOldInMs + daysOldInMs)) / 1000 / 60 / 60, 10);
let hoursOldInMs = hoursOld * 60 * 60 * 1000;
let minutesOld = parseInt((age - (yearsOldInMs + monthsOldInMs + daysOldInMs + hoursOldInMs)) /
1000 /
60,
10
);
let minutesOldInMs = minutesOld * 60 * 1000;
let secondsOld = parseInt(
(age -
(yearsOldInMs +
monthsOldInMs +
daysOldInMs +
hoursOldInMs +
minutesOldInMs)) /
1000,
10
);
</script>
这是计算年龄的部分之一。我省略了 JS 中不必要的部分,例如它将结果输出到 HTML 的位置。
【问题讨论】:
标签: javascript html ios web nan