Java.util.Calendrier - le nombre de millisecondes depuis le 1er janvier 1970

Programme suivi par la sortie. Quelqu'un s'il vous plaît expliquez-moi pourquoi 10 000 000 de millisecondes depuis le 1er janvier 1970 à novembre 31, 1969. Eh bien, s'il vous plaît expliquer quel est le problème avec mon hypothèse que le premier test doit produire un temps de 10 000 000 millisecondes depuis le 1er janvier 1970. Le nombre est inférieur à 10 000 000 de produire le même résultat.

public static void main(String[] args) {

    String x = "10000000";
    long l = new Long(x).longValue();
    System.out.println("Long value: " + l);

    Calendar c = new GregorianCalendar();
    c.setTimeInMillis(l);
    System.out.println("Calendar time in Millis: " + c.getTimeInMillis());

    String origDate = c.get(Calendar.YEAR) + "-" + c.get(Calendar.MONTH) + "-" + c.get(Calendar.DAY_OF_MONTH);  
    System.out.println("Date in YYYY-MM-DD format: " + origDate);

    x = "1000000000000";
    l = new Long(x).longValue();
    System.out.println("\nLong value: " + l);

    c.setTimeInMillis(l);
    System.out.println("Calendar time in Millis: " + c.getTimeInMillis());

    origDate = c.get(Calendar.YEAR) + "-" + c.get(Calendar.MONTH) + "-" + c.get(Calendar.DAY_OF_MONTH);  
    System.out.println("Date in YYYY-MM-DD format: " + origDate);
}

Valeur de type Long: 10000000

Calendrier de temps en Millis: 10000000

Date au format AAAA-MM-JJ: 1969-11-31

Valeur de type Long: e 1000000000000

Calendrier de temps en Millis: e 1000000000000

Date au format AAAA-MM-JJ: 2001-8-8

OriginalL'auteur Nathan Spears | 2008-11-04