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

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

Re: [shell-script] Dificuldade ao utilizar o comando date no shell scrip


From: MrBiTs
Subject: Re: [shell-script] Dificuldade ao utilizar o comando date no shell script.
Date: Mon, 20 Sep 2010 15:28:01 -0300
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.9) Gecko/20100915 Lightning/1.0b2 Thunderbird/3.1.4

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 09/20/2010 09:45 , Fernando wrote:
> Bug mesmo. Mas no tópico do bug tem uma dica legal: se usar a opção -u no
> date, funciona legal, pois a data fica em UTC, sem ser afetada pelo bug com
> nosso horário de verão.
> 
> Acho estranho não ter sido corrigido até agora. O tal tópico é de 2007.

Não sei se podemos chamar isso de bug. Eu chamaria de feature. É a maneira como 
o comando date trabalha e pronto. Quando você passa
uma data para o parâmetro -d do date, sem um horário, ele vai assumir que você 
quer as 00:00 daquela data, assim:

$ date -d 2010-09-26
Sun Sep 26 00:00:00 BRT 2010

Se olharmos o arquivo de definições comumente utilizado no Brasil, temos:

$ zdump -v /etc/localtime| grep 2010
/etc/localtime  Sun Feb 21 01:59:59 2010 UTC = Sat Feb 20 23:59:59 2010 BRST 
isdst=1 gmtoff=-7200
/etc/localtime  Sun Feb 21 02:00:00 2010 UTC = Sat Feb 20 23:00:00 2010 BRT 
isdst=0 gmtoff=-10800
/etc/localtime  Sun Oct 17 02:59:59 2010 UTC = Sat Oct 16 23:59:59 2010 BRT 
isdst=0 gmtoff=-10800
/etc/localtime  Sun Oct 17 03:00:00 2010 UTC = Sun Oct 17 01:00:00 2010 BRST 
isdst=1 gmtoff=-7200

Se agora tentarmos algo assim:

$ date -d 2010-10-17
date: invalid date `2010-10-17'

Mas, se tentamos:

$ date -d "2010-10-17 01:00:00"
Sun Oct 17 01:00:00 BRST 2010

funciona.

Isso é bastante correto, no meu entender. A 00:00 do dia 17/10/2010 nunca 
existirá, já que é o dia da mudança do horário de verão
(até agora). Então, o comando date está correto em dizer que as 00:00 do dia 17 
é uma data inválida para aquela definição de
horário. Funciona com -u porque não há horário de verão em UTC.


- -- 

Um abraço

.0. MrBiTs - address@hidden
..0 GnuPG  - 
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x6EC818FC2B3CA5AB
000 http://www.mrbits.com.br


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Darwin)

iQEcBAEBCAAGBQJMl6ewAAoJEG7IGPwrPKWr+I8H/1lpTV7DiTzabIdJAyvGGtGz
Hh/JbLxomI5DipJ5D1tFNYmEsIomBq1aKOXzlq8qpUNMXGwaKRJIoVFlOg+A5GG3
FtzHvqJXERzQziG9dDay+v8tUsJbu/p10NeXSksszd7j7koxgC2iDuvIMmbzClsY
M6rix8dV4/6ktUNIoYwKnp9TiqI6czY5jPCIAPDC+7ATBZym6d3rqBil1hFUjs9Y
+tg4EVeHCznZSMrMf+f20XW5O/teijUnmA58SLA4AelWr7u7niTOqYjaXDBmBhNN
g6lNLN+uweVlzMHdc2dWNybRgi97G2EUqcOYIwtskduphrDYN+xVHDteC2fFrK4=
=6JBN
-----END PGP SIGNATURE-----


reply via email to

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