1000 * 60 * 60 * 24 * 30 ergibt eine negative Zahl [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Warum ergeben diese beiden Multiplikationen unterschiedliche Ergebnisse? 2 Antworten

Ich versuche, 30 Tage durch Multiplizieren von Millisekunden zu berechnen, aber das Ergebnis ist immer wieder eine negative Zahl für den Wert von days_30, und ich bin mir nicht sicher, warum.

Alle Vorschläge werden sehr geschätzt!

CODE-AUSZUG

// check to ensure proper time has elapsed
                SharedPreferences pref = getApplicationContext()
                        .getSharedPreferences("DataCountService", 0);
                 long days_30 = 1000 * 60 * 60 * 24 * 30;
                 long oldTime = pref.getLong("smstimestamp", 0);
                long newTime = System.currentTimeMillis();
                 if(newTime - oldTime >= days_30){

days_30 value ergibt: -1702967296

P.S.

 double days_30 = 1000 * 60 * 60 * 24 * 30;
                 double oldTime = pref.getLong("smstimestamp", 0);
                double newTime = System.currentTimeMillis();
                 if(newTime - oldTime >= days_30){

Ergebnisse in einer kleineren - aber immer noch negativen Zahl. -1.702967296E9

Antworten auf die Frage(4)

Ihre Antwort auf die Frage