I was just about to write this myself, but I know this has to exist and I'm just managing to avoid all the Google keywords that would lead me right to it.
I would be looking for something like DDDMMMYYY where D, M, Y are the number of days, months, and years. So 00103000 would indicate a span of three months and one day, or 000000001 would indicate a span of one year. Ideally this format would also have a standard way to apply it that could take into consideration all of the pitfalls of timespan calculation like varying number of days in a month, leap years, etc.
I am not looking for a way to calculate a timespan between two known timestamps, as was asked here (http://stackoverflow.com/questions/11/how-do-i-calculate-relative-time), i'm looking for something like a specific string format I can store that would indicate a span of time to be used for determining a second unknown date from a known one.
Such as, using my fictitious format above: if I said "calculate what date would be 00103000 from September 15, 2009" would return "December 16, 2009", which is three months and one day after September 15th.