[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Bash 4.2 printf %()T seems to ignore TZ
From: |
Dennis Williamson |
Subject: |
Bash 4.2 printf %()T seems to ignore TZ |
Date: |
Tue, 15 Feb 2011 21:49:16 -0600 |
When I ran make test I noticed a discrepancy in a couple of the times
output during the printf tests. I pulled out the relevant section and
this is what I get:
LC_ALL=C
LANG=C
SECS=1275250155
export TZ=EST5EDT
printf "%()T\n" $SECS
printf "%(%e-%b-%Y %T %Z)T\n" $SECS # added %Z
result:
15:09:15
30-May-2010 15:09:15 CDT
printf.right says it should be "16:09:15" in both cases. Note that the
%Z I added outputs CDT.
The next part of the test that compares date +%s passes.
Also:
$ LC_ALL=C LANG=C TZ=EST5EDT date -d @$SECS
Sun May 30 16:09:15 EDT 2010
$ TZ=EST5EDT date -d @$SECS
Sun May 30 16:09:15 EDT 2010
$ date -d @$SECS
Sun May 30 15:09:15 CDT 2010
Running in Ubuntu 9.10
Machine: i686
OS: linux-gnu
Compiler: gcc
Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='i686'
-DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i686-pc-linux-gnu'
-DCONF_VENDOR='pc' -DLOCALEDIR='/usr/local/share/locale'
-DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H -I. -I. -I./include
-I./lib -g -O2
uname output: Linux emperor 2.6.31-21-generic #59-Ubuntu SMP Wed Mar
24 07:28:56 UTC 2010 i686 GNU/Linux
Machine Type: i686-pc-linux-gnu
Bash Version: 4.2
Patch Level: 0
Release Status: release
- Bash 4.2 printf %()T seems to ignore TZ,
Dennis Williamson <=