ほげにっき

hogedigoの日記

西暦0年

しっとるけ?シリーズ!!


日付を入力するテキストフィールドに「0000/01/01」を入力したらエラーになりました!とのbug報告が。


これはエラーになってOKなんだな。西暦0年てのは存在しないんだって。西暦は1年から始まって、その前の年は紀元前1年らしい。


試しにJavaで以下のコードを実行すると・・・

public static void main(String[] args) throws ParseException {
    DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
    df.setLenient(false);
    df.parse("0000/01/01");
}

ちゃんとエラーになります。

Exception in thread "main" java.text.ParseException: Unparseable date: "0000/01/01"


ちなみにsetLenient(true)だと・・・0001年扱いになる。何か腑に落ちない?