2009-12-22 9 views

Antwort

15

eine Funktion Machen Sie eine Zeichenfolge wie das in Minuten zu analysieren:

var minutes = parseTime(EndTIme) - parseTime(StartTime); 
+0

Das funktioniert gut !!! .. Dank – Treby

+0

dies funktioniert..danke – Sankar

6
var startTime = "0:10"; 
var endTime = "1:20"; 

var s = startTime.split(':'); 
var e = endTime.split(':'); 

var end = new Date(0, 0, 0, parseInt(e[1], 10), parseInt(e[0], 10), 0); 
var start = new Date(0, 0, 0, parseInt(s[1], 10), parseInt(s[0], 10), 0); 

var elapsedMs = end-start; 
var elapsedMinutes = elapsedMs/1000/60; 
2

helfen können, wenn Sie tun eine Menge Datum/Zeit-Manipulation zu gehen, es lohnt sich date.js Check-out.

Wenn Sie jedoch nur versuchen, dieses eine Problem zu lösen, ist hier ein Algorithmus von der Spitze meines Kopfes.

(1) Parse Start-/Endwerte Stunden und Minuten zu erhalten, (2) Konvertieren Stunden auf Minuten, (3) subtrahieren

function DifferenceInMinutes(start, end) { 
    var totalMinutes = function(value) { 
     var match = (/(\d{1,2}):(\d{1,2})/g).exec(value); 
     return (Number(match[1]) * 60) + Number(match[2]); 
    }  
    return totalMinutes(end) - totalMinutes(start); 
} 
+0

i Fehler bekam:

function parseTime(s) { var c = s.split(':'); return parseInt(c[0]) * 60 + parseInt(c[1]); } 

Jetzt können Sie die Saiten und nur subtrahieren analysieren Spiel ist null – Treby

1

dojo.date.difference für die Aufgabe gebaut ist - fragen Sie nur für eine „Minute "Intervall.

Get the difference in a specific unit of time (e.g., number of months, weeks, days, etc.) between two dates, rounded to the nearest integer.

Usage:

var foo: Number (integer)=dojo.date.difference(date1: Date, date2: Date?, interval: String?); 
Verwandte Themen