← Back to context

Comment by Symbiote

11 hours ago

I am surprised to find Java's Locale.ROOT is not American.

  DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.DEFAULT, Locale.ROOT);
  System.out.println(dateFormat.format(new Date()));

  dateFormat = DateFormat.getTimeInstance(DateFormat.DEFAULT, Locale.ROOT);
   System.out.println(dateFormat.format(new Date()));

  NumberFormat numberFormatter = NumberFormat.getNumberInstance(Locale.ROOT);
  System.out.println(numberFormatter.format(12.34));

  NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(Locale.ROOT);
  System.out.println(currencyFormatter.format(12.34));

  2025 Oct 13
  10:12:42
  12.34
  ¤ 12.34

Even POSIX C is less American than I expected, with a metric paper size and no currency symbol defined (¤ isn't in ASCII). Only the American date format.