javascript - 如何计算平均时间

标签 javascript algorithm datetime time

如何计算 11:59:00 PM 和 12:00:00 AM 的平均时间,使其可以为 11:59:30 PM。目前这段代码给我 11:59:30 AM

       var convertTimeToMilliSecondsTest = function(time) {
                  var startDate = "1970/01/01";                         
       if(time.indexOf("AM") != -1) {
          newTime = time.replace("AM", " AM");
       } else if(time.indexOf("PM") != -1) {
          newTime = time.replace("PM", " PM");
       }
          var dateString = startDate + " " + newTime;
          var date = new Date(dateString.replace(/-/g, '/'));                                 
          return date.getTime();
       }

         var calculateAverageTimeToBed = function(dataset) {
                 var totalTimeInMilliSeconds = 0;

                 for(var i = 0;i < dataset.length; ++i) {
                       totalTimeInMilliSeconds += convertTimeToMilliSecondsTest(dataset[i].startTime);
                 }

                 var averageTimeInBed = totalTimeInMilliSeconds / dataset.length;

                 return averageTimeInBed;
          }

最佳答案

在您的计算中使用整个日期(包括天数)。这是一种方法:

jsFiddle

var date1 = '2013-09-17 11:59:00 PM';
var date2 = '2013-09-18 12:00:00 AM';

var d1msecs = new Date(date1).getTime(); // get milliseconds
var d2msecs = new Date(date2).getTime(); // get milliseconds

var avgTime = (d1msecs + d2msecs) / 2;
console.log(avgTime);

var result = new Date(avgTime);
alert(result);

关于javascript - 如何计算平均时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18880766/

相关文章:

javascript - 模拟真实的鼠标点击

javascript - 当代码看起来正常时,JQuery Accordion 不工作

python 从两个单独的列表中计数对,列表中没有唯一值(我认为集合不起作用)

javascript - 防止 JavaScript 将时间更改为 GMT

PHP比较时间戳和实时时间的差异

javascript - 如果下拉列表中的文本框文本如何防止回发?

algorithm - 如果我们使用链表实现桶,桶排序的复杂度是 O(n+k) 是多少?

algorithm - 递推关系 T(n) = T(n^(1/2)) + T(n-n^(1/2)) + n

php - 如何根据 symfony2 DQL 中的日期时间列过滤查询结果

javascript - 在 Internet Explorer 动态编写的样式表中添加 !important