Java - calcular horas desde nacimiento si nació en tokyo a las 13:45

 
Vista:

calcular horas desde nacimiento si nació en tokyo a las 13:45

Publicado por IRENE (10 intervenciones) el 07/12/2021 12:50:39
Hola compañeros si me pueden ayudar, necesito calcular las horas transcurridas desde la fecha de nacimiento teniendo en cuenta que nación en tokyo a las 13:45, muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

calcular horas desde nacimiento si nació en tokyo a las 13:45

Publicado por IRENE (10 intervenciones) el 08/12/2021 12:07:36
El código sería el siguiente:
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
import java.time.LocalDateTime;
import java.time.Period;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoUnit;
import java.util.Scanner;
import java.util.concurrent.TimeUnit;
 
public class probaEdade {
 
	public static void main(String[] args) {
		Scanner teclado = new Scanner(System.in);
		 System.out.println("Introduzca a súa data de nacemento en formato dd/mm/aaaa"
				  + " (exemplo. 01/10/1995");
				  String fechNac = teclado.nextLine();
 
				//----------partimos fecha nac 15/12/1972
				  String fechNac1[]=fechNac.split("/");
				  int fechN[]= new int[fechNac.length()];
 
				  //-------------las metemos en array de tipo int fechN[2], fechN[1], fechN[0]
				  for(int i=0;i<fechNac1.length;i++) {
				   fechN[i]= Integer.parseInt(fechNac1[i], 10);
				  }
 
				  //------fecha hora y lugar
				  LocalDateTime fechNac23 = LocalDateTime.of(fechN[2], fechN[1], fechN[0], 13, 45);
				  ZoneId lugarNac = ZoneId.of("Asia/Tokyo");
 
				  ZonedDateTime fechLugarNac = ZonedDateTime.of(fechNac23, lugarNac);
				  System.out.println(fechLugarNac); //1972-12-15T13:45+09:00[Asia/Tokyo]
 
				  //----ahora
				  LocalDateTime ahora = LocalDateTime.now();
				  ZoneId estamosEn = ZoneId.of("Europe/Madrid");
 
				  ZonedDateTime fechLugarAhora = ZonedDateTime.of(ahora, estamosEn);
				  System.out.println(fechLugarAhora);
 
				  double diasEdad= ChronoUnit.DAYS.between(fechLugarNac, fechLugarAhora);
				  long horasEdad = TimeUnit.DAYS.toHours((long) diasEdad);
				  System.out.println(diasEdad+" años en dias");
				  System.out.println(horasEdad+" los años en horas");
 
	}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar