【问题标题】:(JavaScript) Compare Timestamps daily (over span of 2 years)(JavaScript) 每天比较时间戳(超过 2 年)
【发布时间】:2015-09-19 18:49:44
【问题描述】:

我有这个调查应用程序,用于存储我的受访者使用 JavaScript 时间戳(例如 2015-06-18T10:35:26.980Z)参加我的调查的时间

我需要知道每天有多少受访者参加了调查。我不太确定如何比较每天从例如 2 年前开始的日期。任何指示我应该如何进行?

到目前为止,我有一组我的受访者参加调查的日期/时间。非常感谢!

编辑: 到目前为止的代码。

var dateCounter = {};

  timeStart.forEach(function(date) {
  var key = date.toISOString().split('T')[0];
  dateCounter[key] = dateCounter[key] || 0;
  dateCounter[key] += 1;
  });

console.log(dateCounter);

【问题讨论】:

  • 遍历数组,使用带有时间戳日期部分键的对象记录每一天
  • 没有“JavaScript 时间戳”。字符串“2015-06-18T10:35:26.980Z”可能被描述为 ISO 8601 长格式字符串。 ISO 格式的一个好处是它可以很好地作为字符串排序。

标签: javascript date time timestamp intervals


【解决方案1】:

又快又脏的sn-p

var dateCounter ={};
dateArray.forEach(function(date) {
    var key = date.toISOString().split('T')[0];
    dateCounter[key] = dateCounter[key] || 0;
    dateCounter[key] += 1;
});

最后,dateCounter 应该有一堆每个日期的总数

【讨论】:

  • 感谢贾拉曼达。我现在正在对其进行测试,但由于某种原因,我收到一个错误,即“date.toISOString()”不是函数。这是我在上面编辑中的代码。
  • 不确定该代码 sn-p 应该做什么,但是没有您在问题中提到的日期/时间数组...您正在尝试将单个时间值处理为如果它是一个数组如果日期,那么为什么你会得到一个错误
  • 对此感到抱歉。 timeStart 是我的日期/时间的数组。您的代码中的 dateArray 到底是什么?
  • 我应该把我的数组 timeStart 放在哪里?
  • 这是你在问题中提到的日期数组,我给它起了一个名字来显示一些代码,我可以称之为“your_array_of_dates”:p - 你应该在哪里“放”它?不知道,你说到目前为止你有一个日期/时间数组,我认为这意味着你有一个 Array 类型的变量,其中包含数据
猜你喜欢
  • 2019-03-13
  • 2018-03-10
  • 2020-11-22
  • 2021-11-27
  • 2012-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多