O que é uma maneira inteligente de contar o número de dias desde o X?

11

Comecei a trabalhar na minha posição atual desde 17 de novembro de 2014. Gostaria de saber quantos dias correram até agora. Alguma idéia de como usar o Linux para chegar a uma solução simples e agradável?

    
por ychaouche 14.07.2015 / 16:19

4 respostas

14
echo $(( ('date +%s' - 'date +%s -d '2014/11/17'') / 86400 )) days ago
    
por 14.07.2015 / 16:33
5

Bem, em face disso:

$ date --date="-239 days"
Mon Nov 17 15:25:40 CET 2014

Em um script (não muito eficiente, mas ... talvez lide com segundos bissextos?;))

i=0
result=""
while [ "$result" != "20141117" ]
do
    i=$((i+1))
    result=$(date --date="-$i days" +%Y%m%d)
done
echo "$i" days have passed since "$result"
    
por 14.07.2015 / 16:30
1

Eu tentei python na linha de comando.

$ python -c "import datetime; print datetime.date.today() - datetime.date(2014,11,17)"
246 days, 0:00:00 
    
por 21.07.2015 / 17:42
1

Você pode usar a biblioteca de Velud do awk:

$ velour -n 'print t_secday(t_now() - t_utc(2014, 9, 8))'
1385.54

Ou:

$ velour -n 'print t_secday(t_now() - t_utc(ARGV[1], ARGV[2], ARGV[3]))' 2014 9 8
1385.54
    
por 29.03.2017 / 02:44