在javascript中,如何从日期字符串“yyyy-mm-dd”或timeStamp中提取月份?

esd100

我有一个数据库,其中包含某些记录的事件作为 json 对象,每个事件都有自己的 JS 毫秒时间戳和格式为“yyyy-mm-dd”的日期字符串,以及一个分钟条目。

我想使用时间戳或日期字符串,以更容易的方式作为输入到算法中,该算法将计算给定月份输入了多少日志。

我还希望该算法对给定月份中记录的累积分钟数求和。

例如,

log1: {
Date:"2017-05-24",
TimeStamp:1495612800,
Minutes: 15},
log2: {
Date:"2017-05-19",
TimeStamp:1495180800,
Minutes: 45},
log3: {
Date:"2017-04-24",
TimeStamp:1493020800,
Minutes:30}

在本例中,算法会计算出 5 月份有 2 条日志,4 月份有 1 条日志。

该算法还将返回 5 月份 60 分钟和 4 月份 30 分钟的总和。

将输入解析为适当的变量以进行计数的任何帮助将不胜感激!

谢谢

莫奇斯

要从单个对象获取月份,它会像以下一样简单:

var month = new Date(log1.TimeStamp * 1000).getMonth() +1 getMonth() 从零开始,所以需要加 1

要计算每月发生的次数,您可以执行以下操作:

var logs = [{
    Date: "2017-05-24",
    TimeStamp: 1495612800,
    Minutes: 15
  },
  {
    Date: "2017-05-19",
    TimeStamp: 1495180800,
    Minutes: 45
  },
  {
    Date: "2017-04-24",
    TimeStamp: 1493020800,
    Minutes: 30
  }
];

var occurrences = logs.reduce(function (result, current) {
  // multiply unix timestamp by 1000 to get ms
  var date = new Date(current.TimeStamp * 1000);
  var month = date.getMonth() + 1;
  if (!result[month]) {
    result[month] = {
      occurrences: 0,
      minutes: 0
    };
  }
  result[month].occurrences++;
  result[month].minutes += Number(current.Minutes);
  return result;
}, {});

console.log(occurrences);

如果您想按年然后按月对日期进行分组,则只需对代码稍作更改。它看起来像下面这样:

var logs = [{
    Date: "2017-05-24",
    TimeStamp: 1495612800,
    Minutes: 15
  },
  {
    Date: "2017-05-19",
    TimeStamp: 1495180800,
    Minutes: 45
  },
  {
    Date: "2017-04-24",
    TimeStamp: 1493020800,
    Minutes: 30
  }
];

var occurrences = logs.reduce(function(result, current) {
  // multiply unix timestamp by 1000 to get ms
  var date = new Date(current.TimeStamp * 1000);
  var year = date.getFullYear();
  var month = date.getMonth() + 1;
  // make sure result[year] is defined
  if (!result[year]) { 
    result[year] = {};
  }
  // notice the original code below is now [year][month]
  if (!result[year][month]) {
    result[year][month] = {
      occurrences: 0,
      minutes: 0
    };
  }
  result[year][month].occurrences++;
  result[year][month].minutes += Number(current.Minutes);
  return result;
}, {});

console.log(occurrences);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Javascript中将日期时间字符串(yyyymmddhhss)格式转换为dd / mm / yyyy?

来自分类Dev

如何在C中匹配MM / DD / YYYY日期字符串格式

来自分类Dev

如何在date -d UNIX命令中读取dd / mm / yyyy日期字符串?

来自分类Dev

正则表达式分别从dd / mm / yy和dd,yyyy中提取日期,月份和年份

来自分类Dev

如何通过 vue.js 将 dd/mm/yyyy HH:MM 字符串转换为 JavaScript 日期对象?

来自分类Dev

如何将dd / MM / YYYY格式的字符串日期转换为YYYY-MM-dd日期时间?

来自分类Dev

如何从日期中提取年份(mm / dd / yyyy)

来自分类Dev

如何从数组中的日期字符串(MM / dd / yyyy)中删除前两个字符?

来自分类Dev

从mm / dd / yyyy中提取年份值

来自分类Dev

如何将字符串日期(25.04.2016)转换为日期格式(mm / dd / yyyy)?

来自分类Dev

MongoDB排序日期字符串(mm / dd / yyyy)

来自分类Dev

来自字符串dd / mm / yyyy的coffeeScript日期

来自分类Dev

输入日期 (MM/dd/yyyy) 到字符串

来自分类Dev

将字符串 YYYY-MM 转换为日期 YYYY-MM-DD

来自分类Dev

Javascript将字符串转换为日期格式yyyy-MM-dd

来自分类Dev

如何在BigQuery中将dd / mm / yyyy字符串转换为日期?

来自分类Dev

如何将字符串转换为日期格式dd / MM / yyyy

来自分类Dev

VBA:如何获取日期作为字符串yyyy-mm-dd

来自分类Dev

如何在bigquery中将字符串yyyy / mm / dd转换为日期?

来自分类Dev

SQL如何将MM-DD-YYYY字符串值转换为日期

来自分类Dev

如何将日期字符串格式化为全文DD MM YYYY?

来自分类Dev

正则表达式从任何字符串中获取日期yyyy-mm-dd

来自分类Dev

将字符串date(yyyy / mm / dd)转换为db2中的日期格式

来自分类Dev

在 moment.js 中以“dd/mm/yyyy”格式解析日期字符串

来自分类Dev

检查句子中是否存在日期字符串 (dd/mm/yyyy)?

来自分类Dev

将日期从 dd/MM/yyyy 格式的字符串插入到数据库中

来自分类Dev

将dd / MM / yyyy hh:mm tt字符串日期转换为C#日期

来自分类Dev

要在Sybase中将字符串mm / dd / yy转换为日期yyyy / mm / dd格式

来自分类Dev

在C#中将“ mm / dd / yy”字符串解析为“ mm / dd / yyyy”日期对象

Related 相关文章

  1. 1

    如何在Javascript中将日期时间字符串(yyyymmddhhss)格式转换为dd / mm / yyyy?

  2. 2

    如何在C中匹配MM / DD / YYYY日期字符串格式

  3. 3

    如何在date -d UNIX命令中读取dd / mm / yyyy日期字符串?

  4. 4

    正则表达式分别从dd / mm / yy和dd,yyyy中提取日期,月份和年份

  5. 5

    如何通过 vue.js 将 dd/mm/yyyy HH:MM 字符串转换为 JavaScript 日期对象?

  6. 6

    如何将dd / MM / YYYY格式的字符串日期转换为YYYY-MM-dd日期时间?

  7. 7

    如何从日期中提取年份(mm / dd / yyyy)

  8. 8

    如何从数组中的日期字符串(MM / dd / yyyy)中删除前两个字符?

  9. 9

    从mm / dd / yyyy中提取年份值

  10. 10

    如何将字符串日期(25.04.2016)转换为日期格式(mm / dd / yyyy)?

  11. 11

    MongoDB排序日期字符串(mm / dd / yyyy)

  12. 12

    来自字符串dd / mm / yyyy的coffeeScript日期

  13. 13

    输入日期 (MM/dd/yyyy) 到字符串

  14. 14

    将字符串 YYYY-MM 转换为日期 YYYY-MM-DD

  15. 15

    Javascript将字符串转换为日期格式yyyy-MM-dd

  16. 16

    如何在BigQuery中将dd / mm / yyyy字符串转换为日期?

  17. 17

    如何将字符串转换为日期格式dd / MM / yyyy

  18. 18

    VBA:如何获取日期作为字符串yyyy-mm-dd

  19. 19

    如何在bigquery中将字符串yyyy / mm / dd转换为日期?

  20. 20

    SQL如何将MM-DD-YYYY字符串值转换为日期

  21. 21

    如何将日期字符串格式化为全文DD MM YYYY?

  22. 22

    正则表达式从任何字符串中获取日期yyyy-mm-dd

  23. 23

    将字符串date(yyyy / mm / dd)转换为db2中的日期格式

  24. 24

    在 moment.js 中以“dd/mm/yyyy”格式解析日期字符串

  25. 25

    检查句子中是否存在日期字符串 (dd/mm/yyyy)?

  26. 26

    将日期从 dd/MM/yyyy 格式的字符串插入到数据库中

  27. 27

    将dd / MM / yyyy hh:mm tt字符串日期转换为C#日期

  28. 28

    要在Sybase中将字符串mm / dd / yy转换为日期yyyy / mm / dd格式

  29. 29

    在C#中将“ mm / dd / yy”字符串解析为“ mm / dd / yyyy”日期对象

热门标签

归档