Utilizei uma função para retornar um valor do tipo Date ex;
1:Public FunctionHorarioDB()As Date2:Dim_conexaoMySQLAs String= "SERVIDOR_DE_CONEXAO" 3:DimconAsMySqlConnection =NewMySqlConnection(_conexaoMySQL) 4:Dimsqlquery = "SELECT DATE_FORMAT(NOW(),'%d/%m/%Y %H:%i:%S')" 5: 6:DimmyCommandAs NewMySqlCommand(sqlquery, con) 7: con.Open() 8: 9:DimTAs String= myCommand.ExecuteScalar 10: 11:13: con.Close() 14: 15:'Transforma o dado recebido em String para tipo Date16:DimHAs Date17: H = CType(T,DateTime) 18:Return(H) 19:End Function
A formato recebido será 17/10/2017 22:11:37
Você também pode jogar essa informação dentro de um Timer para que ele continue a calcular a hora, para que você possa fazer essa conexão apenas uma vez, ex;
1:'No Load do Form12: 3:DimHorarioServidorAs Date4:Private SubForm1_Load(senderAs Object, eAs EventArgs)HandlesMyBase.Load 5: HorarioServidor = HorarioDB()'Aqui chamamos a função descrita acima6: Timer1.Start() 7:End Sub8: 9:'Coloque o Interval do Timer para 1000 que é igual a 1 segundo10:Private SubTimer1_Tick(senderAs Object, eAs EventArgs)HandlesTimer1.Tick 11: HorarioServidor.AddSeconds(1) 12:End Sub
Pronto, agora seu timer vai continuar a contar a data e as horas de acordo com o servidor!
O ruim de utilizar o DateTime.Now do sistema é que se o usuário mudar a hora do computador, também vai alterar a hora do sua aplicação, então o método recomendado é utilizar a hora do banco de dados.
0 comentários:
Postar um comentário