If I run the following program, which parses two date strings referencing times 1 second apart and compares them:
public static void main(String[] args) throw
IMHO
the pervasive, implicit localization in Java is its single largest design flaw. It may be intended for user interfaces, but frankly, who really uses Java for user interfaces today except for some IDEs where you can basically ignore localization because programmers aren't exactly the target audience for it. You can fix it (especially on Linux servers) by:
LC_ALL=C TZ=UTC
To the Java Community Process members I recommend:
UTF-8/UTC
as the FIXED default instead because that's simply the default today. There is no reason to do something else, except if you want to produce threads like this.I mean, come on, aren't global static variables an anti-OO pattern? Nothing else is those pervasive defaults given by some rudimentary environment variables.......