Conversion de date d’Unix de php en Java (Android)

J’utilise les lignes de code suivantes pour convertir le temps unix que je récupère d’un fichier php mais les dates ne sont pas correctes:

int unixTime = new Integer( inputjson[2].getSsortingng((Integer) x.get(j)) ).intValue(); long timestamp = unixTime * 1000; // msec java.util.Date d = new java.util.Date(timestamp); 

Voici un extrait du fichier php:

 date_default_timezone_set('America/New_York'); while($row1 = mysql_fetch_array($result1)) { $output1[]=$row1['text']; $temp = $row1['dateOfStatus']; $d = strtotime($temp); $output5[] = $d; } 

J’ai confirmé que le champ dateOfStatus dans la firebase database est correct. Cependant, quand je récupère cette valeur en java et que je fais la conversion, les dates sont désactivées: c’est-à-dire que TUE Jan 06 05:41:12 EST 1970 reviennent aujourd’hui: du TUE Jan 06 05:41:12 EST 1970 .

Je ne suis pas sûr de ce qui ne va pas.

Y a-t-il quelqu’un qui connaît ce problème?

Ce code est faux:

 long timestamp = unixTime * 1000; 

unixTime est un entier avec 10 chiffres, quand multiplier avec 1000, le résultat est supérieur à la valeur entière, donc unixTime * 1000 obtient un résultat erroné. Vous devriez convertir unixTime en long, comme ceci:

 long unixTime = Long.parseLong(inputjson[2].getSsortingng((Integer) x.get(j)));