Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用十进制格式写我的年龄_Javascript - Fatal编程技术网

Javascript 用十进制格式写我的年龄

Javascript 用十进制格式写我的年龄,javascript,Javascript,我试图用Javascript以十进制格式(例如28.232423424)编写我的年龄,并实时更新这个数字。我正在尝试做的一个例子可以在上面看到 到目前为止,我有以下几点: Javascript var age, daysBetweenDates; daysBetweenDates = function(d1, d2) { var diffDays, firstDate, oneDay, secondDate; oneDay = 24 * 60 * 60 * 1000; firstDa

我试图用Javascript以十进制格式(例如28.232423424)编写我的年龄,并实时更新这个数字。我正在尝试做的一个例子可以在上面看到

到目前为止,我有以下几点:

Javascript

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小提琴: