4D v16.3Current date |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Current date
|
Current date {( * )} -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
* | Operador |
![]() |
Devolve a data atual do servidor | |||||
Resultado | Data |
![]() |
Data atual | |||||
O comando Current date retorna a data atual tal como está definida no relógio do sistema.
4D Server: se passado o parâmetro asterisco (*) durante a execução desta função em um equipo cliente 4D Client, a função devolve a data atual do servidor.
O seguinte exemplo mostra uma caixa de diálogo de alerta com a data atual:
ALERT("The date is "+String(Current date)+".")
Se desenvolve uma aplicação para o mercado internacional, necessita saber se a versão de 4D com a qual é executada sua aplicação funciona com as datas de formato MM/DD/YYYY (versão US) ou DD/MM/YYYY (versão francesa). Esta informação é útil para personalizar corretamente as áreas de entrada.
O seguinte método de projeto permite fazer isso:
` Função global Sys date format
` Sys date format -> String
` Sys date format -> Formato de dados 4D por padrão
C_STRING(31;$0;$vsDate;$vsMDY;$vsMonth;$vsDay;$vsYear)
C_LONGINT($1;$vlPos)
C_DATE($vdDate)
`Obter uma data na qual os valores de mês, dia e ano sejam todos diferentes
$vdDate:=Current date
Repeat
$vsMonth:=String(Month of($vdDate))
$vsDay:=String(Day of($vdDate))
$vsYear:=String(Year of($vdDate)%100)
If(($vsMonth=$vsDay)|($vsMonth=$vsYear)|($vsDay=$vsYear))
vOK:=0
$vdDate:=$vdDate+1
Else
vOK:=1
End if
Until(vOK=1)
$0:="" ` Inicialização do resultado da função
$vsDate:=String($vdDate)
$vlPos:=Position("/";$vsDate) ` Procurar o primeiro separador / na string ../../..
$vsMDY:=Substring($vsDate;1;$vlPos-1) ` Extrair os primeiros dígitos da data
$vsDate:=Substring($vsDate;$vlPos+1) ` Eliminar os primeiros dígitos e o primeiro separador /
Case of
:($vsMDY=$vsMonth) ` Os dígitos expressam o mês
$0:="MM"
:($vsMDY=$vsDay) `Os dígitos expressam o dia
$0:="DD"
:($vsMDY=$vsYear) `Os dígitos expressam o ano
$0:="YYYY"
End case
$0:=$0+"/" `Iniciar a construção do resultado da função
$vlPos:=Position("/";$vsDate) ` Procurar o segundo separador na string ../..
$vsMDY:=Substring($vsDate;1;$vlPos-1) ` Extrair os seguintes dígitos da data
$vsDate:=Substring($vsDate;$vlPos+1) ` Reduzir a string aos últimos dígitos da data
Case of
:($vsMDY=$vsMonth) ` Os dígitos expressam o mês
$0:=$0+"MM"
:($vsMDY=$vsDay) ` Os dígitos expressam o dia
$0:=$0+"DD"
:($vsMDY=$vsYear) ` Os dígitos expressam o ano
$0:=$0+"YYYY"
End case
$0:=$0+"/" `Iniciar a construção do resultado da função
Case of
:($vsDate=$vsMonth) ` Os dígitos expressam o mês
$0:=$0+"MM"
:($vsDate=$vsDay) ` Os dígitos expressam o dia
$0:=$0+"DD"
:($vsDate=$vsYear) ` Os dígitos expressam o ano
$0:=$0+"YYYY"
End case
`Neste momento $0 é igual a MM/DD/YYYY ou DD/MM/YYYY ou...
Produto: 4D
Tema: Datas e Horas
Número
33
Criado por: < 4D v6
Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)