date(1) default format changed between 10.3 and 11.0-BETA3

Mark Martinec Mark.Martinec+freebsd at ijs.si
Wed Aug 3 23:24:09 UTC 2016


Is it normal/expected/documented that the date(1) command in 11.0
now produces a timestamp in substantially different format
in an "en_US.UTF-8" locale (long names, commas, 12 vs. 24h hour time):

   Thursday, August  4, 2016 at 12:50:43 AM CEST
vs:
   Thu Aug  4 00:52:29 CEST 2016


Setting LC_TIME does not help:

   $ LC_TIME="C" date
   Thursday, August  4, 2016 at 01:13:37 AM CEST

although LC_ALL="C" _does_ help.


This is funny too, especially regarding commas:
   $ LC_ALL="en_GB.UTF-8" date
   Thursday  4 August 2016 at 01:16:45 CEST
   $ LC_ALL="en_US.UTF-8" date
   Thursday, August  4, 2016 at 01:16:54 AM CEST


The date(1) man page states:
   The date utility is expected to be compatible with IEEE Std 1003.2
   (“POSIX.2”).
What does POSIX.2 say about date(1) following a locale?



======
11.0-BETA3:

$ date
Thursday, August  4, 2016 at 12:50:43 AM CEST

$ uname -a
FreeBSD xxx.ijs.si 11.0-BETA3 FreeBSD 11.0-BETA3 #0 r303469: Fri Jul 29 
02:27:28 UTC 2016     
root at releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64

$ locale
LANG=
LC_CTYPE="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_ALL=en_US.UTF-8

======
10.3-RELEASE-p6 :

$ date
Thu Aug  4 00:52:29 CEST 2016

$ freebsd-version
10.3-RELEASE-p6

$ uname -a
FreeBSD yyy.ijs.si 10.3-RELEASE-p4 FreeBSD 10.3-RELEASE-p4 #0: Sat May 
28 12:23:44 UTC 2016     
root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64

$ locale
LANG=
LC_CTYPE="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_ALL=en_US.UTF-8



   Mark


More information about the freebsd-current mailing list