また話が変な方にずれてる。

比較可能な文字列が存在したときに、それが「日付」であるが故に文字列比較では駄目だと主張する奴がいて、
駄目だというなら何故駄目なのかを問うてる。

以下のCのコード:
int year1 = 2001;
int year2 = 2002;
if (year1 > year2) { }

この比較が駄目なのかOKなのか、駄目なら何故駄目なのか答えて欲しい。

弥生と五月は単純には比較できないが、3と5なら比較可能。"03"と"05"でも比較可能。