20_LESI 0 Denunciar mensagem Publicado 10 de Abril de 2010 Estou a iniciar-me nesta linguagem e tenho de entregar já um trabalho complicado na próxima 2ª feira. Estamos com alguns problemas na forma de lidar com as datas, nomeadamente em calcular a diferença entre duas datas. Alguém pode dar uma ajuda, ou arranjar trechos de código que sirvam para nos guiar? Muito obrigado Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
Rui Carlos 348 Denunciar mensagem Publicado 10 de Abril de 2010 Podes mostrar alguma coisa do que ja tens? Rui Carlos Gonçalves Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
20_LESI 0 Denunciar mensagem Publicado 10 de Abril de 2010 Ia postar o que temos, mas está tudo mal. Daqui a bocado quando tivermos alguma coisa posto! Brigadão! EDIT: Após algumas horas conseguimos fazer a função. Aqui fica o código: %%%% Converte uma data em minutos %%%% %dataToMin: Data, Hora:Min, variável onde vai ser guardado o resultado -> {V,F} dataToMin(Dia/Mes/Ano, Hora:Min, Int) :- H is Hora*60, D is (Dia-1)*1440, M is (Mes-1)*43800, A is Ano*525600, Res is (H+D+M+A+Min), Int is Res. %%%% Subtrair duas datas e apresentar o resultado em minutos %%%% %subtrairDatas: Data a subtrair, Hora a subtrair, Data à qual vai ser subtraída, Hora à qual vai ser subtraída, variável onde vai ser guardado o resultado -> {V,F} subtrairDatas(D1,H1, D2,H2, R) :- dataToMin(D1, H1, X), dataToMin(D2, H2, Y), R is Y-X. Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites