Jump to content
Fivewin Brasil

UTC


crisvam

Recommended Posts

Por padrão o horário brasileiro é GMT -3, no caso o computador estando com a hora certa bastaria pegar Time() e acrescentar 3 horas.

Ou seja:
nSecs := Secs(Time()) + (3*60*60)
cHoraNova := TString(nSecs)

Vai faltar o tratamento da data para quando já tiver passado de 9 da noite mas a base é essa ae.

Link to comment
Share on other sites

Por padrão o horário brasileiro é GMT -3, no caso o computador estando com a hora certa bastaria pegar Time() e acrescentar 3 horas.

Ou seja:

nSecs := Secs(Time()) + (3*60*60)

cHoraNova := TString(nSecs)

Vai faltar o tratamento da data para quando já tiver passado de 9 da noite mas a base é essa ae.

Samb. se o rWindows não estiver SINCRONIZADO, sua função não retornará correta ou estou errado?

Neste caso deve-se pegar a hora de um site seguro tipo:

// VERIFICA A DATA E HORA DE BRASILIA E CHECA SE ESTA IGUAL AO DO COMPUTADOR
FUNCTION HrDtInternet()
 
   LOCAL oHttp, ;
         cResp1       := "", ;
         cResp        := "", ;
         cHora      := "", ;
         cData      := ""
   LOCAL cHoraNet
 
 
   IF .NOT. IsInternet()
 
      RETURN( { DtoC( Date() ), Time() } )
 
   ENDIF
 
   Try
      oHttp := CreateObject("winhttp.winhttprequest.5.1")
      oHttp:Open("GET","http://www.horacerta.com.br/index.php?city=sao_paulo",.F.)
      oHttp:Send()
      cResp1 := oHttp:ResponseText()
   Catch
      Return( {DtoC(Date()), Time()} )
   End Try
    *
    * MemoWrit( "HoraNet.txt", cResp1 )
    *
    *<input name="mostrador" type="text" size="25" value="19/09/2011 - 01:02:00 PM" />
    *
   cResp     := SubStr( cResp1 , At( '<input name="mostrador"', cResp1 ) )
   cResp     := Substr( cResp     , 1, At( '/>', cResp )-2 )
   cDados    := SubStr( cResp  , At( 'value="', cResp )+7 )
   *
   cData := SubStr( cDados,  1, 10)
   cHora := SubStr( cDados, 14 )
 
   *
 
   If "PM" $ cHora .AND. SubStr(cHora,1,2) != "12"
      cHora := Str(Val(SubStr(cHora,1,2))+12,2)+SubStr(cHora,3,7)
   Endif
 
   wDIA := VAL(SUBSTR( cData, 1, 2 ) )
 
   wMES := VAL(SUBSTR( cData, 4, 2 ) )
   wANO := VAL(SUBSTR( cData, 7, 4 ) )
 
   wHOR := VAL(SUBSTR( cHora, 1, 2 ) )
   wMIN := VAL(SUBSTR( cHora, 4, 2 ) )
   wSEG := VAL(SUBSTR( cHora, 7, 2 ) )
 
   //? wDIA, wMES, wANO
   //? wHOR, wMIN, wSEG
 
   // NAO FUNCIONA EM rWINDOWS 7
   //SETNEWTIME( wHOR, wMIN, wSEG )
 
   //SETNEWDATE( wANO, wMES, wDIA )
 
RETURN( { cData, cHora } )
abs,
Link to comment
Share on other sites

Lembrando que quando estiver em periodo de horário de verão o GMT é 2hrs

Por padrão o horário brasileiro é GMT -3, no caso o computador estando com a hora certa bastaria pegar Time() e acrescentar 3 horas.

Ou seja:
nSecs := Secs(Time()) + (3*60*60)
cHoraNova := TString(nSecs)

Vai faltar o tratamento da data para quando já tiver passado de 9 da noite mas a base é essa ae.

Link to comment
Share on other sites

Caras.. vou dar um pitaco aqui.... talvez seja uma dica meio furada pro momento mas, lá vai...

Tem como sincronizar o computador com o Relógio Atômico Brasileiro do Observatório Nacional... tive dando uma olhada nestes dias porque tenho um projeto que vai depender muito da hora certa... tem um aplicativo que se instala no computador e ele sincroniza a máquina com o Relógio Atômico Brasileiro a cada 15 minutos, sincroniza inclusive milisegundos. Na realidade nem mexi muito!!

http://pcdsh01.on.br/

Para ver a hora certa, com UTC -5, UTC -4, UTC -3 e UTC -2 é aqui.: http://pcdsh01.on.br/HoraLegalBrasileira.asp

Att.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...