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

Exibições: 250

Anexos

Responder esta

Respostas a este tópico

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.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço