Try this:
numbervar x := {table.number};
numbervar yrs;
numbervar mos;
numbervar wks;
numbervar days;
yrs := truncate(x/365.25);
mos := truncate(remainder(x,365.25)/30.4375);
wks := truncate(remainder(remainder(x,365.25),30.4375)/7);
days := truncate(remainder(remainder(remainder(x,365.25),30.4375),7));
totext(yrs,0,"") +" yrs "+
totext(mos,0,"") +" mos " + totext(wks,0,"")+ " wks " +
totext(days,0,"") + " days"
This assumes that months and years are all of the same length, which they are not, of course, but it would be correct on the average.
-LB