我需要减去从 XML 文件获取的数组的第一个和最后一个元素(日期)。
该字符串具有以下格式:
27/12/2012 13:09:15
27/12/2012 13:40:47
27/12/2012 14:56:43
有谁知道怎么做减法吗?
最诚挚的问候
我的功能是这样的:
function recorrido() {
downloadUrl("dates.asp", function(data) {
var xml = xmlParse(data);
var markersPath = xml.documentElement.getElementsByTagName("marker");
var path = [];
for (var i = 0; i < markersPath.length; i++) {
var lat = parseFloat(markersPath[i].getAttribute("lat"));
var lng = parseFloat(markersPath[i].getAttribute("lng"));
var timestamp= markersPath[i].getAttribute("timestamp");
var time = 0;
time+= Math.abs(timestamp[0]) - Math.abs(timestamp[timestamp.length-1]);
}//finish loop
alert(time);
alert(timestamp[0]);
alert(timestamp[timestamp.length-1]);
}); //end download url
}//end function
动态加载的 xml 是这个:
<markers>
<marker id="1" lat="37.1914496222793" lng="-3.72511240175617" timestamp="27/12/2012 16:37:03"/>
<marker id="2" lat="37.1914401951048" lng="-3.72517991386109" timestamp="27/12/2012 16:37:05"/>
<marker id="3" lat="37.1914308368611" lng="-3.72523615956726" timestamp="27/12/2012 16:37:07"/>
<marker id="4" lat="37.1914216855078" lng="-3.72525860611944" timestamp="27/12/2012 16:37:09"/>
<marker id="5" lat="37.1913854939084" lng="-3.72528079402709" timestamp="27/12/2012 16:42:38"/>
<marker id="6" lat="37.191367191181" lng="-3.72532568708827" timestamp="27/12/2012 16:42:40"/>
</markers>
所以我想要得到的是车辆行驶的时间。
最佳答案
您的问题分为两部分。数组访问和日期时间解析。
对于数组访问,对于数组 a,a[0]
和 a[a.length-1]
分别是第一个和最后一个。
Vanilla Javascript 有一个 Date.parse
方法,但它不是很灵活,并且不适用于您的特定字符串格式。我更喜欢像 Moment.js 这样的库。完成解析后,您可以减去日期(大概以毫秒为单位的时间差?)
关于javascript - 减去数组 javascript 的第一个和最后一个日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14055890/