Hi,

tomr wrote on Tue, Jan 17, 2017 at 05:47:05PM +1100:

> Could you confirm this, my conclusion in brief: either I need to accept
> reading dates MM/DD/YYYY where ports use the equivalent of %x, or I need
> to rely on ports to present DD/MM/YYYY themselves.

I'm not sure that is correct - it might be, but the wording seems
ambiguous to me.

Here is your choice:

 1) Not set LC_TIME nor LC_ALL at all, or set it to en_US.UTF-8.
    Then you consistently get MM/DD/YYYY everywhere.
    (Except maybe from software that is very broken.)

 2) Set LC_TIME or LC_ALL to en_AU.UTF-8.
    Then you still get MM/DD/YYYY from base system programs
    and libraries.
    And you still get MM/DD/YYYY from ports using strftime(3)
    and similar functions from base system libraries, even though
    the same ports might print DD/MM/YYYY e.g. on FreeBSD.
    But you may get DD/MM/YYYY from some ports that implement
    their own date formatting without using strftime(3) even on
    OpenBSD.  So when using a new program, you plainly cannot
    know what 01/02/17 means.
    If a large program implements multiple versions of date
    formatting, some using strftime(3) and some not, you may not
    even get consistent output from one program.  So seeing
    01/17/2017 ONCE from a program is NOT enough to conclude
    that this program will always use DD/MM/YYYY.
    It sounds weird, but large software is often very sloppily
    written and implements the same functionality multiple
    times, each time with different bugs.

Your choice.

> The risk of seeing 01/02/17 some places and 02/01/17 other places is
> less of a worry for me personally... after a couple of gotchas I'll be
> able to remember on which side of the road I'm driving where. Or could I
> change *all* dates to drive on the DD/MM/YYYY side of the road?

No, having DD/MM/YYYY everywhere is not supported.

Yours,
  Ingo

Reply via email to