javascript - 从数组中获取时间差
问题描述
我有一个这样的数组 -
[ 'State is:1Time:2019-2-3 11:45:02',
'State is:1Time:2019-2-3 12:45:05',
'State is:1Time:2019-3-4 11:45:00',
'State is:2Time:2019-3-5 11:45:08',
'State is:2Time:2019-4-5 11:45:10',
'State is:2Time:2019-4-5 11:45:12', ]
使用 Javascript,我如何按状态检查出现并减去它们的时间。这意味着例如
State 1
发生 3 次,我想要第一次State 1
出现时间2019-2-3 11:45:02
和第三次出现时间之间的State 1
时间差2019-3-4 11:45:00
?就像这样State 2
。
解决方案
你可以这样做
function calculateTime() {
var array = [ 'State is:1Time:2019-2-3 11:45:02',
'State is:1Time:2019-2-3 12:45:05',
'State is:1Time:2019-3-4 11:45:00',
'State is:2Time:2019-3-5 11:45:08',
'State is:2Time:2019-4-5 11:45:10',
'State is:2Time:2019-4-5 11:45:12', ];
var previousState=0;
var previousTime = 0;
for(var i=0;i<array.length;i++)
{
var str = array[i];
str = str.split('Time');
var str1 = str[0].split(":");
var str2 = str[1].split(/:{0-1}/);
var currentState = str1[1];
var date = new Date(str2[0].substring(1,str2[0].length));
var currentTime = date.getTime();
if((previousState != currentState && (i >0 )|| i ==array.length-1) )
{
console.log(currentTime - previousTime);
}
previousState = currentState;
previousTime = currentTime;
}
}
推荐阅读
- git-svn - 如何将具有自定义结构的 SVN 存储库迁移到 Git?
- python - 在 Debian 上安装 GDAL/OGR Python API
- ios - 如何缓存从 CIImage 转换的 UIImage
- vue.js - Vuejs2 - 无法安装日期选择器
- c# - 在詹金斯中止上停止Windows批处理命令
- c# - C# 将 PDF 加密添加到多个 MemoryStreams - 无法访问已关闭的流
- c# - 正则表达式仅允许 C# 中的数字和逗号
- android - 使用机器学习套件从位图中读取条形码信息
- praat - “文本网格:缩放时间”功能用于将值从一个声音文件应用到现有的文本网格
- javascript - 如何在没有 Kibana 的情况下从 AWS 中的 ElasticSearch 访问数据?