I wrote a function in Delphi that does that. I am not sure if you have Delphi or not. If you really want I can write a VB code and it should be easily transated to VB Script to be used in Web Browsers. By the way, it returns the result in seconds. Here you go. (may get range check error if Date1 > Date2 ^^)
Function SubtractDateTime(Date1, Date2: TDateTime): Extended;
Const
{-Time-}
Millisecond = 0.001;
Second = 1; Seconds = 1;
Minute = 60; Minutes = 60;
Hour = 3600; Hours = 3600;
Day = 86400; Days = 86400;
Week = 604800; Weeks = 604800;
Month = 2629743.83; Months = 2629743.83;
year = 31556926; years = 31556926;
Decade = 315569260; Decades = 315569260;
Century = 3.1556926 * 10e09;
Millenium = 3.1556926 * 10e10;
{-/Time-}
var
Hour1, Min1, Sec1, MSec1 : Word;
Y1, M1, D1: Word;
Hour2, Min2, Sec2, MSec2 : Word;
Y2, M2, D2: Word;
RHour, RMin, RSec, RMSec, RY, RM, RD: Word;
Begin
Try
Result := 0;
DecodeDate(Date1, Y1, M1, D1);
DecodeDate(Date2, Y2, M2, D2);
DecodeTime(Date1, Hour1, Min1, Sec1, MSec1);
DecodeTime(Date2, Hour2, Min2, Sec2, MSec2);
RHour := Hour1 - Hour2;
RMin := Min1 - Min2;
RSec := Sec1 - Sec2;
RMSec := MSec1 - MSec2;
RY := Y1 - Y2;
RM := M1 - M2;
RD := D1 - D2;
Result := Result + RHour * Hour;
Result := Result + RMin * Minute;
Result := Result + RSec * Seconds;
Result := Result + RMSec * MilliSecond;
Result := Result + RY * Year;
Result := Result + RM * Month;
Result := Result + RD * Day;
Except Result := 0;//wtf ^^
End;
End;