Avatar ·

Pourquoi la soustraction de millisecondes de l'époque (année 1927) donne-t-elle un résultat étrange ?

Bonjour à tous ! Je suis débutant en Java et j'ai rencontré un problème très étrange en travaillant avec les dates. J'essaie de calculer la différence en millisecondes entre deux instants en 1927, mais le résultat n'est pas celui que j'attends. Voici mon code : ```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")); // Date 1 : 1927-12-31 23:54:07 Date date1 = sdf.parse("1927-12-31 23:54:07"); // Date 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("Différence en millisecondes : " + diff); // Attendu : 1000 (1 seconde) // Obtenu : 353 (environ 0,35 seconde !) } } ``` Je m'attends