Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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!
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>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 :|
Você testou o código que falei?
Ainda não consegui entender a dificuldade. Posta o que você já tem pronto para clarear mais.
pega a função no Laboratório de scripts....
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!
<%
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 ?
ja tentou usar o
strMinutos = DateDiff("n", vParam(9), now)
>
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
Ae consegui
a Função pra truncamento é a Fix
ficando: minutos_1 = Fix(minutos_1)
obrigado!
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.