Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
portuguese
Composition Setup
import.css=/download/attachments/3279126062824/newLayouttecnologia.css

Pagetitle
LocalToUTC
LocalToUTC

Função: LocalToUTC

Converte

...

a

...

data

...

e

...

hora

...

local

...

para

...

UTC

...

-

...

Coordinated Universal

...

Time.

Sintaxe

Bloco de código
collapsefalse
LocalToUTC( <
cData>
 cDate >, <
cTime>
 cTime >, [ nDST ] )
--> aRetorno

Parâmetros

...

Nome

Tipo

Descrição

Obrigatório

Referência

...

cDate

...

data

Indica a data local no formato ano, mês e dia. Exemplo: yyyyMMdd.

X

 

cTime

...

data

Indica a hora local no formato hora, minuto e segundo. Exemplo: hh:mm:ss.

X

 

nDST

...

numérico

Indica se a hora informada representa um horário solar (0) ou horário de verão (1). Caso não especificado, será considerado 0 (standard time, ou horário solar).

 

 

 

...

Retorno

Nome

Tipo

Descrição

aRet

vetor

Retorna um array contendo

...

a data (yyyyMMdd) e a hora (hh:mm:ss) no formato UTC.

Observações

...

A conversão para UTC é realizada partindo da premissa que a data e hora informadas como parâmetro estão no fuso horário (ou zona de tempo) configurada na localização definida no Sistema Operacional instalado na máquina onde está sendo executado o servidor de aplicação (Protheus Server /

...

AppServer). O parâmetro nDST deve ser informado como 1 (um) quando o horário informado foi ajustado para horário de verão, caso contrário ( horário solar ou fora do período de horário de verão ), deve ser informado 0 (zero). Quando não informado, este parâmetro é considerado 0 (zero). Caso este parâmetro não esteja em acordo com a representação do horário, o retorno da função pode ter uma diferença de uma hora (a mais ou a menos).

Por exemplo, partindo de um Protheus Server em execução em uma máquina Windows(R), configurada na zona de tempo E. South America Standard Time - (UTC-03:00)

...

Brasília:

1)

...

LocalToUTC( "20130110" , "13:00:00" , 1 ) // Retorna 20130110 , 15:00:00
2)

...

LocalToUTC( "20130110" , "12:00:00" , 0 ) // Retorna 20130110 , 15:00:00

As chamadas

...

1 e

...

2 informam a data de 10/01/2013. Na chamada 1, informamos o horário de 13:00:00, e informamos o 3º parâmetro como 1 (horário de verão), deste modo dizemos para a função que 13:00:00 corresponde ao horário de verão (uma hora adiantado em relação ao horário solar), de modo que a data e horário UTC deste momento é dia 10/13/2013, 15:00:00. Na chamada 2, informamos a mesma data, e um horário de 12:00:00, e informamos no 3º parâmetro que o horário informado representa o horário solar, de modo que o horário UTC deste momento também é 15:00:00.

O comportamento da função não apresenta variação, mesmo que a data usada como parâmetro seja uma data onde estava em vigência de horário de verão ou não. O que pode mudar

...

é o comportamento do relógio do sistema, quando o sistema operacional está autorizado a mexer no relógio automaticamente na transição de entrada ou de saída do período de vigência de horário de verão. Na prática, isto significa que: Para converter a data e hora do instante atual para UTC, se o seu sistema operacional estiver configurado para ajustar o relógio automaticamente para horário de verão,

...

e o dia de hoje estiver dentro da vigência do horário de verão, o 3º parâmetro deve ser 1. Caso o seu sistema operacional não esteja configurado para ajustar automaticamente o relógio em horário de verão, e/ou o período atual esteja fora da vigência do horário de verão, o 3º parâmetro deve ser 0.

Informações adicionais

O que

...

é UTC ?

...

...

A hora UTC

...

(Coordinate Universal Time) é um padrão internacional de tempo equivalente à GMT

...

(Greenwich Mean Time). Zero (0) UTC corresponde à meia-noite em Greenwich England situada na longitude zero. Como nós estamos no terceiro fuso horário à oeste de Greenwich, temos de subtrair 3 horas do valor UTC.Assim, por exemplo, 0:00 UTC é igual a 21:00 h local.

...

O Tempo Universal Coordenado (em inglês Coordinated Universal Time), ou UTC (Acrônimo de Universal Time

...

Coordinated), também conhecido como tempo civil, é o fuso horário de referência a partir do qual se calculam todas as outras zonas horárias do mundo. É o sucessor do Tempo Médio de Greenwich (Greenwich Mean Time), abreviadamente GMT. A nova denominação foi cunhada para eliminar a inclusão de uma localização específica num padrão internacional, assim como para basear a medida do tempo nos padrões atômicos, mais do que nos celestes.

...

Ao contrário do GMT, o UTC não se define pelo sol ou as estrelas, mas é sim uma medida derivada do Tempo Atômico Internacional (TAI). Devido ao fato do tempo de rotação da Terra oscilar em relação ao tempo atômico, o UTC sincroniza-se com o dia e a noite de UT1, ao que se soma ou subtrai segundos de salto (leap seconds) quanto necessário. Os segundos de salto são definidos, por acordos internacionais, para o final de julho ou de dezembro como primeira opção e para os finais de março ou setembro como segunda opção. Até hoje somente julho e dezembro foram escolhidos como meses para ocorrer um segundo de salto. A entrada em circulação dos segundos de salto é determinada pelo Serviço Internacional de Rotação da Terra e Sistemas de Referência (IERS), com base nas suas medições da rotação da terra.

...

"UTC" não é realmente uma abreviatura; é uma variante do tempo universal, (universal time, abreviadamente UT) e o seu modificador C (para "coordenado") foi incluído para enfatizar que é uma variante de UT. Pode-se considerar como um compromisso entre a abreviatura inglesa "CUT" e a francesa "TUC".

...

Os tempos UTC de alta precisão só podem ser determinados uma vez, sendo conhecido o tempo atômico, que se estabelece mediante a reconciliação das diferenças observadas entre um conjunto de relógios atômicos mantidos por um determinado número de oficinas do tempo nacionais. Isto é feito sob coordenação

...

do Escritório Internacional de Pesos e Medidas (Bureau International des Poids et Mesures - BIPM). Não obstante, os relógios atômicos são tão exatos que só os mais precisos computadores necessitam usar estas correções; e a maioria dos utilizadores de serviços de tempo utilizam os relógios atômicos que tenham sido previamente configurados como UTC, para estimar a hora UTC.

...

Devido aos segundos de salto é impossível determinar que representação UTC virá a ter numa data futura, pois o número de segundos de salto que se tem que incluir na data é ainda desconhecido. Para tais casos é recomendado que se utilize a representação TAI que não sofre tais limitações.

...

UTC é o sistema de tempo utilizado por muitos padrões da Internet e da World Wide Web. Em particular, desenhou-se o Network Time Protocol como uma forma de distribuir o tempo UTC na Internet.

...

Em relação ao horário de Brasília, o Tempo Universal Coordenado está três horas adiantado. Isto é, se são 17h em Brasília (sem horário de verão), são 20h no padrão UTC.

O Parlamento Europeu decidiu que para todos os países da União Europeia seria uniformemente estabelecido que a Hora de Verão (em inglês: daylight savings time, DST) se inicia às 02:00 UTC do último domingo de cada mês de Março, sendo acrescida de uma hora, e termina às 02:00 UTC do último domingo do mês de Outubro. No caso de Portugal ou Reino Unido, a Hora de Inverno coincide com a hora UTC.

Exemplos

Bloco de código
themeEclipse
languagecpp
titleExemplo 1
linenumberstrue
collapsefalse
User Function Exemplo()
  aRet

 Exemplos

aRet
 := 
localToUtc
LocalToUTC( "20080918", "23:24:25" )
 ConOut(

  conout( "A Data convertida para UTC e : " + aRet[1]
)ConOut(
 )
  conout( "A Hora convertida para UTC e : " + aRet[2] )
return

Abrangência

Protheus 10, Protheus 11

...

Veja também