On Mon, Dec 09 2013, David Bremner <david@tethera.net> wrote: > Tomi Ollila <tomi.ollila@iki.fi> writes: > >>> if [ -z "${template[date]}" ]; then >>> - template[date]="Fri, 05 Jan 2001 15:43:57 +0000" >>> + template[date]=$(date -Ru -d@$((978709437 - gen_msg_cnt))) >> >> I am afraid this is not portable (although not sure). This could work: >> >> _s=$((3599 - gen_msg_cnt)) >> template[date]="Fri, 05 Jan 2001 15:$((_s / 60)):$((_s % 60)) +0000" >> > > How about this instead? > > diff --git a/test/test-lib.sh b/test/test-lib.sh > index 792e477..22a4d7f 100644 > --- a/test/test-lib.sh > +++ b/test/test-lib.sh > @@ -356,7 +356,8 @@ generate_message () > fi > > if [ -z "${template[date]}" ]; then > - template[date]=$(date -Ru -d@$((978709437 - gen_msg_cnt))) > + template[date]=$(TZ=UTC printf "%(%a, %d %b %Y %T %z)T\n" \ > + $((978709437 - gen_msg_cnt))) > fi $ printf "%(%a, %d %b %Y %T %z)T\n" 978709437 printf: %(: invalid directive zsh: exit 1 $ bash -c 'printf "%(%a, %d %b %Y %T %z)T\n" 978709437' Fri, 05 Jan 2001 17:43:57 +0200 Using bash builtin is fine by me! :D BTW: this works too: bash -c 'TZ=UTC printf -v foo[bar] "%(%a, %d %b %Y %T %z)T\n" 978709437; echo ${foo[bar]}' Tomi