shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Fazer subtração de Datas


From: Herbert Alexander Faleiros
Subject: Re: [shell-script] Fazer subtração de Datas
Date: Mon, 24 Jul 2006 20:43:44 -0300
User-agent: KMail/1.9.3

On Monday 24 July 2006 17:30, Tiago Barcellos Peczenyj wrote:
> postei um exemplo semanas atras com awk mas acharam muito complexo
[cut]

Olá,

#!/bin/sh

jc() {
  
echo 
"$3-32075+1461*($1+4800+($2-14)/12)/4+367*($2-2-($2-14)/12*12)/12-3*(($1+4900+($2-14)/12)/100)/4"
 | 
bc
}

echo "`jc ${1:0:4} ${1:4:2} ${1:6:2}`sx`jc ${2:0:4} ${2:4:2} 
${2:6:2}`sylxly-2^vp" | dc


A função jc() converte as datas (no formato yyyyMMdd) para uma representação 
dentro do calendário "Juliano", depois utilizei o "dc" p/ calcular a 
diferença entre as datas e em seguida o módulo (valores negativos).

Exemplo:

cálculo da diferença em dias entre duas datas no formato yyyyMMdd:

$ ./teste 20050202 20040102
397

Notem que difere em 30 dias do exemplo do Tiago (façam as contas).


Até,

herbert.

PS - p/ entender porque utilizei o calendário Juliano leiam o seguinte:
http://www.samag.com/documents/s=8284/sam0307b/0307b_s1.htm


reply via email to

[Prev in Thread] Current Thread [Next in Thread]