Una possibile soluzione:
codice:
var data1 = new Date(2002, 11, 31);
var data2 = new Date(2006, 4, 31);
var diff = data2 - data1;
var aa = diff.getFullYear();
var mm = diff.getMonth() + 1;
var gg = diff.getDate();

alert ("la differenza e` "+aa+" anni, "+mm+" mesi, "+gg+" giorni");
Forse rimangono un po` di zeri davanti all'anno, ma potrebbe dipendere dal browser.