On 2017-07-25 10:47, Brian Inglis wrote: > On 2017-07-24 17:18, Kaz Kylheku wrote: >> On 24.07.2017 15:51, Brian Inglis wrote: >>> On 2017-07-24 15:02, Hans-Bernhard Bröker wrote: >>>> Am 24.07.2017 um 04:09 schrieb Lavrentiev, Anton (NIH/NLM/NCBI) [C]: >>>> >>>>> rather it's a question about portability of code that >>>>> uses %s for both functions and expects it to work unchanged in the >>>>> Cygwin environment. >>>> >>>> And the answer to that question is: such code _is_not_portable_, and >>>> therefore >>>> that expectation is wrong. >>>> >>>> If that code claims to be portable, then its use of %s in either of those >>>> functions constitutes a _bug_. >>>> >>>> In the old days there was a well-known fallacy known by the slogan "all the >>>> world's a VAX." Nowadays it appears to have been replaced by an equally >>>> wide-spread, and equally incorrect belief that all the world is Linux. >>>> Well, >>>> it's not. Not even the whole Un*x world is Linux. >>> >>> Rather "all the world's a GNU" i.e. glibc, but there's also BSD libc, RTEMS >>> and >>> Cygwin newlib, and others. >> >> Since the utilities depend on the C library functionality for strptime and >> strftime, even having GNU utilities won't help. >> >> There doesn't appear any nice way in POSIX shell scripting to have access to >> the seconds since the Epoch. >> >> If you have GNU Awk, it has some time functions like mktime, which don't rely >> on any C library extensions. > > If you have GNU gawk you probably also have GNU coreutils date, which supports > +%s for output and -d@nnnnnnnnnn for input, whether or not the system strftime > and strptime support %s. > > GNU coreutils date with shell arithmetic is adequate to support shell script > conversions between time scales with different epochs e.g. Julian Day, > Modified > Julian Day, NTP, Unix, GPS, and calculations using those values. > > Awk, JS, or some other language supporting FP is required for subsecond or > fractional day accuracy with convenient output.
Patch in latest test release provides %s support for strptime(3) used by strptime(1). Another strptime(3) patch was just submitted to fix %F handling. More newlib time patches coming to fix handling years around INT_MAX and high values of time_t. -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple