Javascript 用十进制格式写我的年龄
我试图用Javascript以十进制格式(例如28.232423424)编写我的年龄,并实时更新这个数字。我正在尝试做的一个例子可以在上面看到 到目前为止,我有以下几点: JavascriptJavascript 用十进制格式写我的年龄,javascript,Javascript,我试图用Javascript以十进制格式(例如28.232423424)编写我的年龄,并实时更新这个数字。我正在尝试做的一个例子可以在上面看到 到目前为止,我有以下几点: Javascript var age, daysBetweenDates; daysBetweenDates = function(d1, d2) { var diffDays, firstDate, oneDay, secondDate; oneDay = 24 * 60 * 60 * 1000; firstDa
var age, daysBetweenDates;
daysBetweenDates = function(d1, d2) {
var diffDays, firstDate, oneDay, secondDate;
oneDay = 24 * 60 * 60 * 1000;
firstDate = Date.parse(d1);
secondDate = Date.parse(d2);
diffDays = Math.round(Math.abs((firstDate - secondDate) / oneDay));
return diffDays;
};
age = function() {
var today;
today = new Date();
return $('#myAge').text(daysBetweenDates('Jun 2, 1987', today) / 365);
};
$(document).on('ready page:load', function() {
return setInterval(age, 500);
});
我得到的号码是28.27123287671233(我相信是正确的)。然而,尽管设置了半秒(500毫秒)的间隔,我并没有看到我的年龄更新,正如我在上面提到的示例链接上所做的那样。
我对这个算法的想法有误吗?这是因为你计算了天数,然后将其四舍五入。 拆下圆角部分,它将按预期工作 我对你的代码做了一些调整:
var age, daysBetweenDates;
daysBetweenDates = function(d1, d2) {
var diffDays, oneDay;
oneDay = 24 * 60 * 60 * 1000;
diffDays = (d2 - Date.parse(d1)) / oneDay;
return diffDays;
};
age = function() {
$('#myAge').text(daysBetweenDates('Jun 2, 1987 00:00:00', new Date()) / 365);
};
setInterval(age, 500);
JS小提琴: