2009-12-22 8 views
7

의 그것의 수를 점점 :JAVASCRIPT : 시간을 뺀 분 예를 들어

StartTime = '00:10'; 
EndTIme = '01:20'; 

이 변수 문자열을

질문 있습니다을 : 어떻게 그들을 빼기 분의 스팬 시간을 반환 할 수 있습니까?

date.js 체크 아웃 가치, 당신이 날짜/시간 조작 많은 일을 할 거라면 당신은

답변

15

분에 같은 문자열을 구문 분석하는 기능을 확인하십시오

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

이제 문자열을 구문 분석 할 수 있습니다 그냥 빼기 :

내가 오류가 발생했습니다
var minutes = parseTime(EndTIme) - parseTime(StartTime); 
+0

이것은 위대한 작품! .. 감사합니다 – Treby

+0

이 작품은 ..thanks – 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

을 도울 수 있기를 바랍니다.

그러나이 문제를 해결하기 만하면 머리 꼭대기의 알고리즘이 있습니다.

(1) (2) 분으로 시간 변환, 시간과 분을 얻을/종료 값을 시작 구문 분석, (3) 작업에 내장되어

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

: 경기 is null – Treby

1

dojo.date.difference 빼기 - 다만 "분을 요청 "간격.

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?);