// ISO 8601 Gregorian Administrative Date Difference Demo
// uses date include 3

function DiffDate(S1, S2) {
  var D1 = ReadISO8601date(S1) ; if (D1<0) return 'Date 1 bad'
  var D2 = ReadISO8601date(S2) ; if (D2<0) return 'Date 2 bad'
  if (D1[2]<D2[2]) { 
	  D1[1]-- ; 
	  D1[2] += DaysInMonth(D1[0], D1[1]) 
  }
  D1[2] -= D2[2]
  if (D1[1]<D2[1]) { 
	  D1[0]-- ; 
	  D1[1] += 12 
  }
  D1[1] -= D2[1]
  D1[0] -= D2[0]
  return D1 }
 
 with (new Date()) X = String(( getFullYear()*100 + getMonth()+1 )*100 + getDate());
var nowYear = new String(X.slice(0,4));
var nowMonth = new String (X.slice(4,6));
var nowDay = new String (X.slice(6,8));
var isodate= new String (DiffDate(nowYear + "-" +nowMonth + "-" + nowDay,"1995-03-08"));
myisodate = isodate.split(",");
var marriedSince=new String(myisodate[0] + " Years, " + myisodate[1] + " Months, and " + myisodate[2] + " Days");

