This works in LibreOffice; you will probably have to switch the commas for semicolons and vice-versa for it to work in OpenOffice:
Cell A1: "DATE 1"
Cell B1: "DATE 2"
Cell C1: "ELAPSED" or "INTERVAL"
Cell C2:
=IF(B2>A2,IF(YEARS(A2,B2,0)>9,YEARS(A2,B2,0)&"Y ","0"&YEARS(A2,B2,0)&"Y ")&IF(MONTHS(A2,B2,0)-(12*YEARS(A2,B2,0))>9,MONTHS(A2,B2,0)-(12*YEARS(A2,B2,0))&"M ","0"&MONTHS(A2,B2,0)-(12*YEARS(A2,B2,0))&"M ")&IF(DATEDIF(DATE((YEAR(A2)+YEARS(A2,B2,0)),(MONTH(A2)+MONTHS(A2,B2,0)-(12*YEARS(A2,B2,0))),DAY(A2)),B2,"d")>9,DATEDIF(DATE((YEAR(A2)+YEARS(A2,B2,0)),(MONTH(A2)+MONTHS(A2,B2,0)-(12*YEARS(A2,B2,0))),DAY(A2)),B2,"d")&"D","0"&DATEDIF(DATE((YEAR(A2)+YEARS(A2,B2,0)),(MONTH(A2)+MONTHS(A2,B2,0)-(12*YEARS(A2,B2,0))),DAY(A2)),B2,"d")&"D"),IF(YEARS(B2,A2,0)>9,YEARS(B2,A2,0)&"Y ","0"&YEARS(B2,A2,0)&"Y ")&IF(MONTHS(B2,A2,0)-(12*YEARS(B2,A2,0))>9,MONTHS(B2,A2,0)-(12*YEARS(B2,A2,0))&"M ","0"&MONTHS(B2,A2,0)-(12*YEARS(B2,A2,0))&"M ")&IF(DATEDIF(DATE((YEAR(B2)+YEARS(B2,A2,0)),(MONTH(B2)+MONTHS(B2,A2,0)-(12*YEARS(B2,A2,0))),DAY(B2)),A2,"d")>9,DATEDIF(DATE((YEAR(B2)+YEARS(B2,A2,0)),(MONTH(B2)+MONTHS(B2,A2,0)-(12*YEARS(B2,A2,0))),DAY(B2)),A2,"d")&"D","0"&DATEDIF(DATE((YEAR(B2)+YEARS(B2,A2,0)),(MONTH(B2)+MONTHS(B2,A2,0)-(12*YEARS(B2,A2,0))),DAY(B2)),A2,"d")&"D"))
I'm submitting the long form above, for people who want to be able to enter the dates without regard to which came first. In my own spreadsheet, I know which value preceded the other, so it looks something like this:
Cell C2:
=IF(YEARS(A2,B2,0)>9,YEARS(A2,B2,0)&"Y ","0"&YEARS(A2,B2,0)&"Y ")&IF(MONTHS(A2,B2,0)-(12*YEARS(A2,B2,0))>9,MONTHS(A2,B2,0)-(12*YEARS(A2,B2,0))&"M ","0"&MONTHS(A2,B2,0)-(12*YEARS(A2,B2,0))&"M ")&IF(DATEDIF(DATE((YEAR(A2)+YEARS(A2,B2,0)),(MONTH(A2)+MONTHS(A2,B2,0)-(12*YEARS(A2,B2,0))),DAY(A2)),B2,"d")>9,DATEDIF(DATE((YEAR(A2)+YEARS(A2,B2,0)),(MONTH(A2)+MONTHS(A2,B2,0)-(12*YEARS(A2,B2,0))),DAY(A2)),B2,"d")&"D","0"&DATEDIF(DATE((YEAR(A2)+YEARS(A2,B2,0)),(MONTH(A2)+MONTHS(A2,B2,0)-(12*YEARS(A2,B2,0))),DAY(A2)),B2,"d")&"D")