Por qué restar milisegundos de época (año 1927) da un resultado extraño
¡Hola a todos! Soy nuevo en Java y me encontré con un problema muy extraño al trabajar con fechas. Intento calcular la diferencia en milisegundos entre dos momentos en 1927, pero el resultado no es el que espero.
Aquí está mi código:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class StrangeDate {
public static void main(String[] args) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
// Fecha 1: 1927-12-31 23:54:07
Date date1 = sdf.parse("1927-12-31 23:54:07");
// Fecha 2: 1927-12-31 23:54:08
Date date2 = sdf.parse("1927-12-31 23:54:08");
long diff = date2.getTime() - date1.getTime();
System.out.println("Diferencia en milisegundos: " + diff);
// Espero: 1000 (1 segundo)
// Obtengo: 353 (¡aproximadamente 0.35 segundos!)
}
}
```
Espero