GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEV
,
WEBDEV
e
WINDEV Mobile
Inicio
|
Mensagens recentes
|
Conecte-se...
|
Disconnect
|
Português
Inicio
→
WINDEV 25
→
[WINDEV 19] Data e hora posix
[WINDEV 19] Data e hora posix
Iniciado por pedrosao, fev., 21 2015 12:30 PM - Sem resposta
Conecte-se…
pedrosao
#1
Membro registado
42 mensagems
Popularité : +7 (7 votes)
Publicado em fevereiro, 21 2015 - 12:30 PM
Posix (Unix Timestamp) corresponde ao número de segundos após 01/01/1970.
// Summary: Converte Data/Hora para Tempo Unix (Posix) = nro. de sgundos após 01/01/1970
// Syntax:
//[ <Result> = ] ConvDtHo2UnixTime (<pDtHo> is datetime)
//
// Parameters:
// pDtHo (datetime): data e hora a converter
// Return Value:
// duration: // data Posix (timestamp Unix)
//
// For instance:
// tmpUnix is duration = ConvDtHo2UnixTime(tmpdtho)
// TempoUnix = tmpUnix..InSeconds
//
Procedure
ConvDtHo2UnixTime
(
pDtHo is DateTime
)
tmpDtHo is DateTime
=
pDtHo
tmpDtHo
..
Millisecond
=
0
// calcula a diferença de tempo entre 01/01/1970 e a data fornecida
tmpDif is TO
string
=
DateTimeDifference
(
"19700101000000"
,
tmpDtHo
)
// calcula a data Posix
tmpUnix is Duration
=
StringToDuration
(
tmpDif
,
durationCenti
)
tmpUnix
..
Millisecond
=
0
RESULT
tmpUnix
// Summary: Converte Tempo Unix (Posix = nro. de sgundos após 01/01/1970) para Data/Hora
// Syntax:
//[ <Result> = ] ConvUnixTime2DtHo (<pUnixTime> is numeric)
//
// Parameters:
// pUnixTime (numeric): data Posix (timestamp Unix)
// Return Value:
// datetime: // data e hora
//
// For instance:
// tmpUnix is numeric = TempoUnix
// tmpDtHo is datetime = ConvUnixTime2DtHo(tmpUnix)
//
Procedure
ConvUnixTime2DtHo
(
pUnixTime is numeric
)
tmpMaxInt4b is
int
on
4
bytes
=
2147483647
tmpSegundos is
int
on
8
bytes
tmpUnix is Duration
IF
pUnixTime
<
=
tmpMaxInt4b
THEN
tmpUnix
..
Second
=
pUnixTime
ELSE
// para suportar datas após 19/01/2038 e Posix > 2147483647 (valor máximo em 4 bytes)
tmpSegundos
=
pUnixTime
LOOP
tmpUnix
..
Second
+
=
tmpMaxInt4b
tmpSegundos
-
=
tmpMaxInt4b
IF
tmpSegundos
<
tmpMaxInt4b
THEN
tmpUnix
..
Second
+
=
tmpSegundos
BREAK
END
END
END
tmpDtHo is DateTime
=
"19700101000000"
tmpDtHo
+
=
tmpUnix
RESULT
tmpDtHo
Fonte: Lifetech
Denunciar
0
0
→ Voltar para WINDEV 25
WINDEV 25
Français
English
Español
Portuguesa
Fermer cette fenêtre
Tipo de Pesquisa
Apenas tópicos
Todas as mensagens
Período de pesquisa
Qualquer momento
Última hora
Últimas 24 horas
Semana passada
Mês passado
Ano passado
Cancelar
Pré-visualização da sua mensagem
Adicionar imagem
Importar uma imagem de uma URL
Enviar uma imagem a partir do seu disco
Deixe um ficheiro ou clique em "Procurar ..."
ou
Cancelar
0%
WLanguage
SQL
XML, HTML
JAVA, Javascript
Texto