Estou tendo um probleminha cruel... vê se alguém pode me ajudar nessa!
Estou querendo realizar cálculo em cima do dia corrente do ano ($dia = gmdate("z"); ). É o seguinte, vamos partir do princípio que você pegue comigo um material no dia 6 de janeiro e me devolva dia 10 de janeiro, quando eu fizer o cálculo, irá me retornar que você ficou 4 dias com o material. Até aí tudo bem. Se você pegar em fevereiro e devolver em agosto, sem problemas também.
Meu problema todo está quando o ano vira, por exemplo, caso você pegue em novembro de 2004 e devolva em janeiro de 2005, tudo bem, fiz uma função que calculou essa diferença, o problema todo é, se você pegar em agosto de 2004 e devolver em novembro de 2005, aí não estou vendo solução para isso, ou seja, pegar em um mês de um ano, e devolver em um mês maior do ano seguinte.
Pensei em uma maneira, que seria de concatenar o ano + mês + dia corrente, mas tem um problema aí. Por exemplo:
Janeiro 2005 tem que ser maior do que Agosto de 2004 para realizar a subtração, porém fazendo da maneira que falei, não é bem assim.
Jan/05 -> 2005+01+31
Ago/04 -> 2004+08+220
Mas para isso funcionar, duas coisas teriam que ser corrigidas:
1) ao pegar mês de janeiro, ao invés de 31, teria que ser 031, tem como?
2) tem como no resultado de uma subtração, pegar somente os três últimos números? Tipo, como se tivesse um resultado assim: 200101030, porém queria apenas o 030.
Pô, quem souber como resolver esses meus probleminhas ou então souber de uma maneira mais fácil, muito grato por isso!
Segue a função do cálculo:
function calcula_emprestimo($diacorr_emp,$diacorr_atual)
Pergunta
BrenoLourenço
Salve galera!
Estou tendo um probleminha cruel... vê se alguém pode me ajudar nessa!
Estou querendo realizar cálculo em cima do dia corrente do ano ($dia = gmdate("z"); ). É o seguinte, vamos partir do princípio que você pegue comigo um material no dia 6 de janeiro e me devolva dia 10 de janeiro, quando eu fizer o cálculo, irá me retornar que você ficou 4 dias com o material. Até aí tudo bem. Se você pegar em fevereiro e devolver em agosto, sem problemas também.
Meu problema todo está quando o ano vira, por exemplo, caso você pegue em novembro de 2004 e devolva em janeiro de 2005, tudo bem, fiz uma função que calculou essa diferença, o problema todo é, se você pegar em agosto de 2004 e devolver em novembro de 2005, aí não estou vendo solução para isso, ou seja, pegar em um mês de um ano, e devolver em um mês maior do ano seguinte.
Pensei em uma maneira, que seria de concatenar o ano + mês + dia corrente, mas tem um problema aí. Por exemplo:
Janeiro 2005 tem que ser maior do que Agosto de 2004 para realizar a subtração, porém fazendo da maneira que falei, não é bem assim.
Jan/05 -> 2005+01+31
Ago/04 -> 2004+08+220
Mas para isso funcionar, duas coisas teriam que ser corrigidas:
1) ao pegar mês de janeiro, ao invés de 31, teria que ser 031, tem como?
2) tem como no resultado de uma subtração, pegar somente os três últimos números? Tipo, como se tivesse um resultado assim: 200101030, porém queria apenas o 030.
Pô, quem souber como resolver esses meus probleminhas ou então souber de uma maneira mais fácil, muito grato por isso!
Segue a função do cálculo:
Abraço!
Link para o comentário
Compartilhar em outros sites
18 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.