Fórum Contador de dias corridos #602185
03/05/2019
0
Bom dia, estou com um problema, tenho um arquivo em pdf que tenho um campo com uma data inicial e quero em outro campo que aparece nele quantos dias se passaram da data inserida até o dia de hoje. Um campo começaria a contar do mesmo dia e em outro caso começaria a contar do próximo dia.
Exemplo paciente internou no dia 03/05/2019 assim em no dia 07/05/2019 ele estaria no D5 de internação pois começou a contar do primeiro dia e em um outro caso, comecei com um antibiótico no dia 03/05/2019, assim no dia 07/05/2019 ele estaria no D4 pois começa a contar no próximo dia. Alguém pode me fazer uma gentileza de me ajudar como fazer esses dois scripts para ser inserido neste arquivo pdf ?
Exemplo paciente internou no dia 03/05/2019 assim em no dia 07/05/2019 ele estaria no D5 de internação pois começou a contar do primeiro dia e em um outro caso, comecei com um antibiótico no dia 03/05/2019, assim no dia 07/05/2019 ele estaria no D4 pois começa a contar no próximo dia. Alguém pode me fazer uma gentileza de me ajudar como fazer esses dois scripts para ser inserido neste arquivo pdf ?

Renato Orsini
Curtir tópico
+ 0
Responder
Posts
03/05/2019
Diego Bruning
Quanto a parte do PDF eu não entendi muito bem, mas para obter a diferença em dias entre duas datas poderia fazer como segue:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.Period; import java.time.format.DateTimeFormatter; import java.util.Calendar; import java.util.Date; import java.util.concurrent.TimeUnit; import org.junit.Assert; public class DifferenceBetweenTwoDates { public static void main(String[] args) throws ParseException { String sFirstDay = "06/24/2017" ; String sSecoundDay = "06/30/2017" ; SimpleDateFormat sdf = new SimpleDateFormat( "MM/dd/yyyy" ); Date firstDate = sdf.parse(sFirstDay); Date secondDate = sdf.parse(sSecoundDay); // Sem java 8 DifferenceBetweenTwoDates ex = new DifferenceBetweenTwoDates(); Assert.assertEquals(ex.obterDiferencaSemJava8(firstDate, secondDate), 6 ); Assert.assertEquals(ex.obterDiferencaSemJava8APartirSegundoDia(firstDate, secondDate), 5 ); // Com java 8 DateTimeFormatter dtm = DateTimeFormatter.ofPattern( "MM/dd/yyyy" ); LocalDate d1 = LocalDate.parse(sFirstDay, dtm); LocalDate d2 = LocalDate.parse(sSecoundDay, dtm); Assert.assertEquals(ex.obterDiferencaComJava8(d1, d2), 6 ); Assert.assertEquals(ex.obterDiferencaComJava8APArtirSegundoDia(d1, d2), 5 ); } public long obterDiferencaSemJava8(Date firstDate, Date secondDate) { long diffInMillies = Math.abs(secondDate.getTime() - firstDate.getTime()); long diff = TimeUnit.DAYS.convert(diffInMillies, TimeUnit.MILLISECONDS); System.out.println(diff); return diff; } public long obterDiferencaSemJava8APartirSegundoDia(Date firstDate, Date secondDate) { Calendar c = Calendar.getInstance(); c.setTime(firstDate); c.add(Calendar.DATE, 1 ); return obterDiferencaSemJava8(c.getTime(), secondDate); } public int obterDiferencaComJava8(LocalDate d1, LocalDate d2) { Period period = Period.between(d1, d2); int diff = period.getDays(); System.out.println(diff); return diff; } public int obterDiferencaComJava8APArtirSegundoDia(LocalDate d1, LocalDate d2) { d1 = d1.plusDays( 1 ); return obterDiferencaComJava8(d1, d2); } } |
Responder
Gostei + 0
05/05/2019
Renato Orsini
Deixe me explicar melhor a minha pergunta.
Tenho um formulario em PDF e tenho um campo denominado entradacti que tem a data de entrada do paciente no CTI e preciso que o tempo de internação contado a partir do primeiro dia em relacao a data atual, retorne em um campo denominado diasinternacao ( números redondos).
Ao mesmo tempo que tenho 4 campos de antibióticos chamados dataatb1, dataatb2, dataatb3, dataatb4 que devem retornar o tempo de antibióticos a contar do segundo dia em relacao a data atual nos campos tempo1, tempo2, tempo3, tempo4 respectivamente.
Alem de atualizar a data atual em um campo chamado dataatual.
Assim tenho um botao com o emblema do hospital que ao passar por ele ou clicar nele, ativaria este script e os dados anteriores seriam atualizados para os dados recentes todos os dias quando forem evoluir os pacientes.
Dá para fazer desse jeito? Grato desde já a ajuda já prestada
Tenho um formulario em PDF e tenho um campo denominado entradacti que tem a data de entrada do paciente no CTI e preciso que o tempo de internação contado a partir do primeiro dia em relacao a data atual, retorne em um campo denominado diasinternacao ( números redondos).
Ao mesmo tempo que tenho 4 campos de antibióticos chamados dataatb1, dataatb2, dataatb3, dataatb4 que devem retornar o tempo de antibióticos a contar do segundo dia em relacao a data atual nos campos tempo1, tempo2, tempo3, tempo4 respectivamente.
Alem de atualizar a data atual em um campo chamado dataatual.
Assim tenho um botao com o emblema do hospital que ao passar por ele ou clicar nele, ativaria este script e os dados anteriores seriam atualizados para os dados recentes todos os dias quando forem evoluir os pacientes.
Dá para fazer desse jeito? Grato desde já a ajuda já prestada
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)