これを限界までショートコーディング!?

うっ、「限界まで」難しいです。もう少し考えます。

考えてたら、「ノードを集める」に、使えますね。




頭の体操!?(にもならない)

function A (ym) { return (ym[0] ? ym[0] + '年': '') + (ym[1] + 'ヵ月') }
function B (n)  { return [n / 12 |0, n % 12] }
function C (ym) { return ym[0] * 12 + ym[1] }
function D (d)  { return [d.getFullYear (), d.getMonth () + 1] }

alert (A (B (C (D (new Date)) - C ([2008, 3]))));