Quando é a segunda-feira seguinte?

7

No meu computador de casa (Xubuntu 14.04), eu tenho

zev@home:~$ date +%F
2015-10-05

zev@home:~$ date +%F -d "next Monday"
2015-10-12

enquanto no trabalho (Red Hat 5.11), eu tenho

zev@work:~$ date +%F
2015-10-05

zev@work:~$ date +%F -d "next Monday"
2015-10-05

(Observe que hoje é segunda-feira). Meu palpite inicial era de que as diferentes interpretações da frase next Monday se deviam aos sistemas com diferentes versões do coreutil date :

zev@home:~$ date --version | head -2
date (GNU coreutils) 8.21
Copyright (C) 2013 Free Software Foundation, Inc.

zev@work:~$ date --version | head -2
date (GNU coreutils) 5.97
Copyright (C) 2006 Free Software Foundation, Inc.

Minhas perguntas são:

  • A única causa é a diferença nas versões do programa date , ou há algo mais sobre um sistema que afetará sua interpretação das seqüências de datas?

  • Como posso saber se um sistema terá uma ou outra interpretação, sem executar os comandos para verificar diretamente? Se a única coisa que afeta o resultado é a versão de date , então, de acordo com este thread unix.SE ( Qual versão do X introduzida feature Y? ) Eu deveria ser capaz de descobrir qual versão introduziu o novo comportamento em um changelog para o programa date , mas não consigo encontrar nada remotamente parecido com isso aqui (talvez eu esteja apenas confuso).

por Zev Chonoles 06.10.2015 / 02:23

1 resposta

5

Eu fiz rpm -qfl /bin/date e procurei na lista de arquivos por um changelog, e encontrou /usr/share/doc/coreutils/NEWS e o seguinte parágrafo:

  • Noteworthy changes in release 7.4 (2009-05-07) [stable]

    Bug fixes. date -d 'next mon', when run on a Monday, now prints the date 7 days in the future rather than the current day. Same for any other day-of-the-week name, when run on that same day of the week. [This bug appears to have been present in "the beginning". ]

  •   
    
por 06.10.2015 / 09:26