Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

xikoo

[Resolvido] Calculadora de Horas querystring

Recommended Posts

nm_tempo_aplicacao = "175"

 

nm_tempo_total = "0:59:50"

 

Tenho que construir uma calculadora para somar esses segundos da querystring tempo_aplicacao no tempo_total

somaria 50+175 = 225 / 60 = 3 com resto 45

esse resto ocuparia o campo dos segundos, assim em diante até ter o resultado final de 01:02:45 na querystring nm_tempo_total que vai ser inserida no banco de dados

 

gratz!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça uma pesquisa aqui no Fórum. Para calcular horas você tem que transformar horas em minutos e minutos em segundos. Eu criei uma função para isso e disponibilizei no Laboratório de Scripts.

 

Qualquer dúvida poste aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lembrando que você pode usar o DateAdd, mas a função do Hargon é ótima...

e dá uma olhada neste código, abaixo:

<!-- Data de hoje-->
Data de hoje:<%= date %><br>


	<!-- 90 dias a partir de hoje -->
	<%
	  dim myDate, ninty
	  myDate = date
	  ninty = dateAdd ("m", 3, myDate)
	  response.write "90 dias a partir de hoje: "
	  response.write ninty
	%>
	<!-- //fim -->

		<!-- utilizador data de entrada e  cálculos -->
		<%
		Dim inputDate, todaysDate, months, days, hours, seconds
		todaysDate = date
		inputDate = TRIM( Request( "datebox" ) )
		months = TRIM( Request( "submit1" ) )
		days = TRIM( Request( "submit2") )
		hours = TRIM( Request( "submit3") )
		seconds = TRIM( Request( "submit4") )

		' #utilizador data #
		response.write "<br>"
		response.write "Data de Entrada de usuários: "
		response.write inputDate

				'  #  cálculo meses#
				if months <> "" then
				z = dateDiff ("m", inputDate, todaysDate)
				response.write "<br>"
				response.write "<font color=red>Resposta: </font>"
				response.write "foi "
				response.write "<font color=green>"
				response.write z
				response.write "</font>"
				response.write " meses, desde então."

					' # days calculation #
					ELSE
					if days <> "" then
					z = dateDiff ("d", inputDate, todaysDate)
					response.write "<br>"
					response.write "<font color=red>Resposta: </font>"
					response.write "foi "
					response.write "<font color=green>"
					response.write z
					response.write "</font>"
					response.write " dias, desde então."
	
						' # hours calculatoin #
						ELSE
						if hours <> "" then
						z = dateDiff ("h", inputDate, todaysDate)
						response.write "<br>"
						response.write "<font color=red>Resposta: </font>"
						response.write "foi "
						response.write "<font color=green>"
						response.write z
						response.write "</font>"
						response.write " horas, desde então."
		
							ELSE
							if seconds <> "" then
							z = dateDiff ("s", inputDate, todaysDate)
							response.write "<br>"
							response.write "<font color=red>Resposta: </font>"
							response.write "foin "
							response.write "<font color=green>"
							response.write z
							response.write "</font>"
							response.write " segundos, desde então."
							end if
						end if
					end if
				end if

		%>
		<!-- //end -->






					<center>
					<hr color="#000000" width="100%">
					<form action="date.asp" method="get">
					~ Digite uma data, em seguida, selecione uma Função ~ <br>
					{ Example: 09/02/2009 }<br>

					<br><br><input type="text" name="datebox" maxlength="10"><br><br>
					<br><br>
					<input type="submit" name="submit1" value="calcular quantos meses">  <br><br>
					<input type="submit" name="submit2" value="calcular quantos dias"> <br> <br>
					<input type="submit" name="submit3" value="calcular quantos horas">  <br> <br>
					<input type="submit" name="submit4" value="calcular quantos segundos">   
					</form>
					<hr color="#000000" width="100%">
					</center>

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu procurei todas as calculadoras daqui e a lógica delas não se encaixa :|

eu recebo as informações em segundos e ela tem que ser somada no banco de dados

vo recebendo sei lá, 300 segundos, dae vai lá pro banco 00:05:00

recebo mais 200, dae soma 00:08:20, assim por diante

só que o nome do banco é em querystring, "(00:00:00)"

 

teria que pegar esses 300 segundos e somar com os segundos do banco, fazer aquela lógica do algoritmo que montei dividindo por 60 e somando isso aos minutos, o resto virando segundos

depois a mesma coisa, os minutos já foram somados então divide por 60, o resultado soma as horas e o resto vira segundos.

Não consegui achar uma calculadora com essa lógica, muito menos montá-la :|

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você testou o código que falei?

 

Ainda não consegui entender a dificuldade. Posta o que você já tem pronto para clarear mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pega a função no Laboratório de scripts....

aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deu certo porque esse script soma hora com hora (11:22:33) com (44:55:66)

eu vou ter a informação dos segundo solta, 800

e somar isso com a informação em STRING que vou ter no banco (11:22:33)

é como se fosse um cronômetro, não preciso de dia, mês e ano o.O

eu vou recebendo os segundos que o usuário ficou na aplicação e somando pro banco pra ter um resultado geral

sou estagiário e nunca estudei asp na vida, to aprendendo então um pouquinho de paciência :D

vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%
nm_tempo_aplicacao = "120"
nm_tempo_total = "00:59:50"
vet_nm_tempo_total = Split(nm_tempo_total,":")

if vet_nm_tempo_total(2) <> -1 then
	segundos_1 = clng(vet_nm_tempo_total(2)) + clng(nm_tempo_aplicacao)
	minutos_1 = segundos_1/60
	
	minutos_1 = formatNumber(minutos_1, 0)
	segundos_2 = segundos_1 mod 60
	segundos_2 = formatNumber(segundos_2, 0)
	

	if vet_nm_tempo_total(1) <> -1 then
		minutos_2 = clng(vet_nm_tempo_total(1)) + minutos_1
		horas_1 = minutos_2/60
		horas_1 = formatNumber(horas_1, 0)
		minutos_3 = minutos_2 mod 60
		minutos_3 = formatNumber(minutos_3, 0)
		

		if vet_nm_tempo_total(0) <> -1 then
			horas_2 = clng(vet_nm_tempo_total(0)) + horas_1
			horas_2 = formatNumber(horas_2, 0)
			
		end if
	end if
end if

nm_tempo_total2 = (horas_2 & ":" & minutos_3 & ":" &segundos_2)

response.write(nm_tempo_total2)

%>

consegui!

A única coisa agora é que na parte: minutos_1 = formatNumber(minutos_1, 0)

ele tá arredondando o número, daria 2.833333, ele coloca 3, então tá dando erro de 1 minuto, como faço para truncá-lo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja tentou usar o

strMinutos = DateDiff("n", vParam(9), now)

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja tentou usar o

strMinutos = DateDiff("n", vParam(9), now)

eu não quero fazer uma diferença de datas o.o

eu quero truncar os valores da divisão

se der dízima como ali no exemplo 2,8888888888883

quero que ele pegue somente o valor 2, ele tá arredondando para 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.