[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
use of TZ by mktime()/strftime()
From: |
Ed Morton |
Subject: |
use of TZ by mktime()/strftime() |
Date: |
Tue, 9 Aug 2022 11:18:22 -0500 |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.1.0 |
I doubt if this is a bug, but if not I'd like to understand it better.
When I want to print the UTC time from a time saved in some other
timezone I can do:
$ TZ=UTC
then run `date` as:
$ date +'%F %T' -d '2022-01-01T12:00:00 EST'
2022-01-01 17:00:00
$ date +'%F %T' -d '2022-01-01T12:00:00 IST'
2022-01-01 06:30:00
When I try the equivalent with `gawk`, though, the results vary
depending on which TZ value is used:
$ awk 'BEGIN{ENVIRON["TZ"]="EST"; s=mktime("2022 01 01 12 00 00");
ENVIRON["TZ"]="UTC"; print strftime("%F %T",s)}'
2022-01-01 17:00:00
$ awk 'BEGIN{ENVIRON["TZ"]="IST"; s=mktime("2022 01 01 12 00 00");
ENVIRON["TZ"]="UTC"; print strftime("%F %T",s)}'
2022-01-01 12:00:00
Note that the date command worked for EST and IST but the awk one only
worked for EST. I'm using gawk 5.1.1 on both cygwin and MacOS and I see
that effect with a few other TZ values I've tried.
What is causing awk to act on some TZ values but not others that date
can act on? Is there any way for me to test if a given TZ will work in awk?
Ed.
- use of TZ by mktime()/strftime(),
Ed Morton <=
- Re: use of TZ by mktime()/strftime(), Ed Morton, 2022/08/09
- Re: use of TZ by mktime()/strftime(), arnold, 2022/08/10
- Re: use of TZ by mktime()/strftime(), Eli Zaretskii, 2022/08/10
- Re: use of TZ by mktime()/strftime(), Ed Morton, 2022/08/10
- Re: use of TZ by mktime()/strftime(), Neil R. Ormos, 2022/08/10
- Re: use of TZ by mktime()/strftime(), Ed Morton, 2022/08/10
- Re: use of TZ by mktime()/strftime(), Neil R. Ormos, 2022/08/10