Ir para conteúdo

POWERED BY:

Arquivado

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

bgssilva

Subtração entre horas (acima de 24h)

Recommended Posts

Realmente deve ser um cálculo bem simples mas não estou conseguindo chegar nele, vejam

 

tenho como resultado de uma operação anterior

 

total = "138:00:00"

feito = "116:58:05"

 

preciso efetuar a subtração.

debito = 138:00:00 - 116:58:05

 

como string

 

usando o Cdate por exemplo recebo a mensagem de erro de tipos imcompatíveis.

 

o DateDiff funciona muito bem com as horas quando as mesmas não passam de 24h mas quando tenho um somatório tipo o exemplificado acima, por algum motivo, ou por falta de conhecimento meu, a função não exibe valores corretos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao vai funcionar mesmo pois nao esta no pádrao de hora

 

neste caso voce deve fazer algo equivalente

 

quebra aquilo em um array e faz os calculos por parte

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao vai funcionar mesmo pois nao esta no pádrao de hora

 

neste caso voce deve fazer algo equivalente

 

quebra aquilo em um array e faz os calculos por parte

 

Estou tentando fazer aqui dessa forma que você sugeriu. Valeu a atenção.

 

[]s

 

A propósito pra mim na falta de um Nissan 350z, um Sentra 2008 Automático seria ótimo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

duvidas poste ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

duvidas poste ai

Grato pela atenção mais uma vez.... estou tentando fazer a subtração com os valores separados... mas não estou visualizando a rotina como um todo nos casos dos valores serem superiores a 1 hora para os minutos... veja:

 

V_debito =  "00:00:00"
	V_Credito = "00:00:00"
	IF V_Tot_Base > CalculaIntervaloHoras(V_TOT_Dia_Traducao) THEN 
		V_Tot_Base_Div = split(V_Tot_Base,":") 
		V_Tot_Base_Div_Segundos = V_Tot_Base_Div(2)
		V_Tot_Base_Div_Minutos = V_Tot_Base_Div(1)
		V_Tot_Base_Div_Horas = V_Tot_Base_Div(0)

		V_Tot_dia_Traducao_Div = split(CalculaIntervaloHoras(V_TOT_Dia_Traducao),":")
		V_Tot_dia_Traducao_Div_Segundos = V_Tot_dia_Traducao_Div(2)
		V_Tot_dia_Traducao_Div_Minutos = V_Tot_dia_Traducao_Div(1)
		V_Tot_dia_Traducao_Div_Horas = V_Tot_dia_Traducao_Div(0)
		
		'segundos
		if 	V_Tot_Base_Div_Segundos <> "00" then
			if cint(V_Tot_Base_Div_Segundos) > cint(V_Tot_dia_Traducao_Div_Segundos) then
				Conta_segundos = cint(V_Tot_Base_Div_Segundos) - cint(V_Tot_dia_Traducao_Div_Segundos)
			end if
		else
			Conta_segundos = 60 - cint(V_Tot_dia_Traducao_Div_Segundos)
		end if
		
		
		
		'Minutos
		if 	V_Tot_Base_Div_Minutos <> "00" then
			if cint(V_Tot_Base_Div_Minutos) > cint(V_Tot_dia_Traducao_Div_Minutos) then
				Conta_Minutos = cint(V_Tot_Base_Div_Minutos) - cint(V_Tot_dia_Traducao_Div_Minutos)
			end if
		else
			Conta_Minutos = 60 - cint(V_Tot_dia_Traducao_Div_Minutos)
		end if
		
		'Horas
		if 	V_Tot_Base_Div_Horas <> "00" then
			if cint(V_Tot_Base_Div_Horas) > cint(V_Tot_dia_Traducao_Div_Horas) then
				Conta_Horas = cint(V_Tot_Base_Div_Horas) - cint(V_Tot_dia_Traducao_Div_Horas)
			end if
		else
			Conta_Horas =  cint(V_Tot_dia_Traducao_Div_Horas)
		end if
		
		'Complementando tamanho do texto exibido
		if 	len(Conta_Horas) = 1 then
			Conta_Horas = "00" & Conta_Horas
		else
			if 	len(Conta_Horas) = 2 then
			Conta_Horas = "0" & Conta_Horas
			end if
		end if
		
		if 	len(Conta_Minutos) = 1 then
			Conta_Minutos = "0" & Conta_Minutos
		end if
	
		if 	len(Conta_segundos) = 1 then
			Conta_segundos = "0" & Conta_segundos
		end if


response.Write "<BR><BR>" & V_Tot_Base_Div_Horas & "<BR>"& V_Tot_Base_Div_Minutos & "<BR>"& V_Tot_Base_Div_Segundos& "<BR><BR>" & V_Tot_dia_Traducao_Div_Horas& "<BR>"& V_Tot_dia_Traducao_Div_Minutos& "<BR>"& V_Tot_dia_Traducao_Div_Segundos& "<BR><BR>" & Conta_Horas & "<BR>" & Conta_Minutos& "<BR>"& Conta_segundos& "<BR><BR>"

a conta está errada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

me de um exemplo do que voce falou

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.