Clipper On Line • Ver Tópico - TimeZone

TimeZone

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

TimeZone

Mensagempor Alexandre Silva » 01 Set 2017 19:47

Pessoal
Alguma funcao que retorne a timezone no harbour ?

Quando chega horario de verao, pessoal que usa NFe Cte tem que indicar a time zone em varios lugares

<dhEvento>2016-10-31T09:44:20-02:00</dhEvento>

Obrigado
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar de usuário

Alexandre Silva
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 351
Data de registro: 26 Mar 2007 00:16
Cidade/Estado: Itapema - SC
Curtiu: 34 vezes
Mens.Curtidas: 6 vezes

TimeZone

Mensagempor Jairo Maia » 02 Set 2017 00:25

Olá Alexandre,

Que estranho... Isso não é só no horário de verão e não tem nada a ver com Time Zone... Tem que informar sempre.
cDateTime := TtoC( DateTime() )
cDateTime := Left( cDateTime, RAt(  ".", cDateTime ) -1 )
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

TimeZone

Mensagempor Alexandre Silva » 02 Set 2017 11:27

Opa
Acho que me expressei mal
Nos casos que temos que colocar a timezone, que na maior parte do Brasil se coloca é -03:00
mas quando entramos no horario de verao preciso indicar -02:00

Ocorre que esse periodo varia todo ano de outubro a fevereiro, nao quero ficar digitando esse periodo ou pedir para que seja indicado pelo usuario se esta no horario de verao..

Pensei que o Harbour, teria uma funcao que pega do sistema operacional se está ou nao em horario de verao ou se tem como pegar a timezone direto
-02:00 -03:00 -04:-00
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar de usuário

Alexandre Silva
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 351
Data de registro: 26 Mar 2007 00:16
Cidade/Estado: Itapema - SC
Curtiu: 34 vezes
Mens.Curtidas: 6 vezes

TimeZone

Mensagempor Itamar M. Lins Jr. » 02 Set 2017 11:46

Ola!
pessoal que usa NFe Cte tem que indicar a time zone em varios lugares

Não entendi direito, mas aqui na Bahia é só desligar o horário de verão no windows mesmo.
A hora fica sempre correta, basta informar o local correto, mas isso é no OS não no aplicativo, porque o aplicativo não tem GPS "AINDA" rsrsrs.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

TimeZone

Mensagempor Alexandre Silva » 02 Set 2017 13:25

No Nordeste nao entra em horario de verao

e sim.. o Windows(sistema operacional) tem controle do horario
pensei que o harbour tivesse como pegar..
Anexos
hora_.JPG
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar de usuário

Alexandre Silva
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 351
Data de registro: 26 Mar 2007 00:16
Cidade/Estado: Itapema - SC
Curtiu: 34 vezes
Mens.Curtidas: 6 vezes

TimeZone

Mensagempor Itamar M. Lins Jr. » 02 Set 2017 14:44

Pois é, só com GPS. Nem OS sabe.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

TimeZone

Mensagempor asimoes » 02 Set 2017 15:24

Tem essa opção, já tentou?

http://ntp.br/guia-win-comum.php
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

TimeZone

Mensagempor JoséQuintas » 03 Set 2017 14:48

Veja se é isso que quer.
Procure por DateTimeXml()

https://github.com/JoseQuintas/sefazclass/blob/master/source/ze_xmlfunc.prg

PROCEDURE Main
? DateTimeXml( Date(), Time(), "SP", .T. )


hbmk2 test sefazclass.hbc

d:\temp>test

2017-09-03T14:49:32-03:00
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

TimeZone

Mensagempor JoséQuintas » 03 Set 2017 15:02

Faltou mencionar: basta que o computador esteja com o horário correto.

Acaba uando as funções TercaDeCarnaval() e DomingoDePascoa(), HorarioDeVeraoInicio() e HorarioDeVeraoTermino(), mas todas estão no fonte.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

TimeZone

Mensagempor Alexandre Silva » 03 Set 2017 16:50

Obrigado
Funcoes muito uteis.
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar de usuário

Alexandre Silva
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 351
Data de registro: 26 Mar 2007 00:16
Cidade/Estado: Itapema - SC
Curtiu: 34 vezes
Mens.Curtidas: 6 vezes

TimeZone

Mensagempor Jairo Maia » 04 Set 2017 09:51

Olá Alexandre,

Alexandre Silva escreveu:se está ou nao em horario de verao ou se tem como pegar a timezone direto -02:00 -03:00 -04:-00
Ok. Acho que o único jeito é pela Consulta do Status Operacional. Veja um exemplo entre SP e AM. SP está com UTC 3 e AM UTC 4:
SP:
<retConsStatServ versao="3.10" xmlns="http://www.portalfiscal.inf.br/nfe">
<tpAmb>2</tpAmb>
<verAplic>SP_NFE_PL_008i2</verAplic>
<cStat>107</cStat>
<xMotivo>Serviço em Operação</xMotivo>
<cUF>35</cUF>
<dhRecbto>2017-09-04T09:30:52-03:00</dhRecbto>
<tMed>1</tMed>
</retConsStatServ>

AM:
<retConsStatServ xmlns="http://www.portalfiscal.inf.br/nfe" versao="3.10">
<tpAmb>2</tpAmb>
<verAplic>AM3.10-4.00</verAplic>
<cStat>107</cStat>
<xMotivo>Servico em Operacao</xMotivo>
<cUF>13</cUF>
<dhRecbto>2017-09-04T08:36:22-04:00</dhRecbto>
<tMed>1</tMed>
</retConsStatServ>
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

TimeZone

Mensagempor Kapiaba » 04 Set 2017 10:27

Function TimeZone(dData)

   Local cDateTimeZone,aTimeStamp,cTzd

   Default dData:=Date()

   aTimeStamp:=hb_atokens(tip_timestamp(dData)," ")

   cTzd:=aTail(aTimeStamp)

   cTzd:=Left(cTzd,Len(cTzd)-2)+":"+Right(cTzd,2)

   cDateTimeZone:=StrZero(Year(dData),4)+"-"+StrZero(Month(dData),2)+"-"+StrZero(Day(dData),2)+"T"+Time()+cTzd

Return(cDateTimeZone)


abs.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1765
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 310 vezes
Mens.Curtidas: 119 vezes

TimeZone

Mensagempor JoséQuintas » 04 Set 2017 10:47

Dei uma mexida nessa rotina.
Resta saber se em horário de verão vai estar ok.

PROCEDURE Main

   ? DateTimeXml( Date(), Time(), "SP", .T. )
   ? TimeZone( Date() )

   RETURN

FUNCTION TimeZone( dData )

   RETURN Transform( Dtos( dData ), "@R 9999-99-99" ) + ;
          "T" + Time() + ;
          Transform( Right( Tip_TimeStamp(), 5 ), "@R X99:99" )


d:\temp>test

2017-09-04T10:46:22-03:00
2017-09-04T10:46:22-03:00
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

TimeZone

Mensagempor JoséQuintas » 04 Set 2017 11:03

Precisou atualização, passar a data em Tip_TimeStamp():

PROCEDURE Main

? DateTimeXml( Stod( "20170101" ), Time(), "SP", .T. )
? TimeZone( Stod( "20170101" ) )

FUNCTION TimeZone( dData )

   RETURN Transform( Dtos( dData ), "@R 9999-99-99" ) + ;
          "T" + Time() + ;
          Transform( Right( Tip_TimeStamp( dData ), 5 ), "@R X99:99" )


2017-01-01T11:01:47-02:00
2017-01-01T11:01:47-02:00


Nota: não sei dizer se o Harbour 3.2 tem hb_TipTimeStamp()
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

TimeZone

Mensagempor Itamar M. Lins Jr. » 05 Set 2017 19:54

Ola!

2017-09-05 10:29 UTC Viktor Szakats (vszakats users.noreply.github.com)
...
* contrib/hbtip/misc.c
    ! TIP_TIMESTAMP(): fix to pad the day and year with zero
      Ref: https://tools.ietf.org/html/rfc2822#section-3.3
      Ref: https://developer.mozilla.org/docs/Web/HTTP/Headers/Date
    ! TIP_TIMESTAMP(): fix out-of-bounds array access when an empty
      date was passed
    % halve on-stack string buffer size
    * comment cleanups

  * contrib/hbtip/sessid.prg
    ! tip_DateToGMT(): fix to convert date to GMT (UTC)
...


Teve mais ajustes em outras áreas.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Próximo



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Google Adsense [Bot] e 3 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro