実行時に Java プログラムで奇妙な現象を見つけました。コードを見てください。
System.out.println(" date " + new Date(1359931355141L).toGMTString() );
このステートメントによる出力は「date 3 Feb 2013 22:42:35 GMT」であり、
System.out.println(" date " + new Date(1359931355141L).getDate() );
これによる出力は「date 4」でした。なぜ3ではないのですか???
プログラムの何が問題なのかわかりませんでした。JVM がバグに遭遇したかどうか疑問に思っています。
皆さん、この 2 つのステートメントについて、JVM でテストを行いませんか?