Bom dia senhores! estou com uma dificulidades em tratar um dado recebido se alguns dos Brother poder me ajuda fico grato, é o seguinte eu estou enviando pelo um aplicativo dados de hora e minutos e estou recebendo esses dados em segundos e queria recebr esse dados no mesmo formato de hora, vou tenta explicar,
Eu envio 1 minuto do aplicativo assim 00:01 e recebo assim 60
Eu envio 1 Hora do aplicativo assim 01:00 e recebo assim 3600
Eu envio 1 Hora e meia do aplicativo assim 01:30 e recebo assim 5400
Eu envio 2 Horas do aplicativo assim 02:00 e recebo assim 7200
eu queria converter pra fica igual eu enviei por exempo quero envia 1 hora pelo aplicativo que é assim 01:00 e converter pra fica igual eu enviei no caso assim 01:00 e não em Segundos no caso isso 3600 que eu recebo
Tags:
Turma resolvi, pesquisando na comunidade do Blynk, acabei achando,
Link da pesquisa que encontrie foi esse https://community.blynk.cc/t/how-to-assign-the-time-input-param-to-...
Opa, se já resolveu melhor ainda !
Mas digo que normalmente essas conversões podem ser feitas com contas do tipo divisão e resto de divisão.
Por ex:
para saber qual o digito de um numero n do tipo 1234 ou mcdu (milhar, centena, dezena e unidade) vc pode fazer:
m=n/1000; // milhar é o numero/1000
c=(n/100)%10; // centena é o numero dividido por 100, só que no caso vai dar 12. Pra isolar o 2 vc faz % 10 que é o resto da divisão, dá 2.
d=(n/10)%10; // idem, só que /10
u=n%10; // resto da divisão por 10 é a unidade.
Para horas a coisa muda, mas não muito.
5400 segundos correspondem a
5400/60=90 minutos, vamos chamar de mt (minutos totais).
para transformar mt em h:m
h = mt/60 = 1
m = mt%60 = 0,5 // que está até meio correto, pq seria meia hora, mas precisa ajustar do fundo de escala 1 para o de 60, então
m=m*60=30
Aih dá os 1:30
Para poder trabalhar só com inteiros vc pode complicar fazendo:
m = (100*mt)%6000 = 50 ;// fundo de escala 100. Para corrigir para o fundo de escala 60 vc tem que multiplicar por 60 e dividir por 100
m=(m*60)/100;
Eu sou chato com esse negócio de parêntesis, recomendo ser também, ajuda a evitar perdas de tempo.
Se vc está calculando com inteiros toda fração é desprezada.
Então (m/100)*60 != (m*60)/100
Ex1: m=5.
m=m/100 = 0 ; // se for uma variável inteira 0,05 vira 0
m*60=0
Ex2:
m=5
m=m*60=300
m=m/100=3
Valeu Eduardo pela explicação, vc manja mesmo no assunto, parabéns,
Olá, Cícero!
Que bom que resolveu.
Então, por favor, edite o assunto desta discussão e acrescente [RESOLVIDO] no início, para que possamos filtrar melhor as discussões que ainda estão em andamento.
Grato!
Muito sucesso nos projetos!
D.T. Ribeiro.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por