J'ai reçu la chaîne de date du serveur de notification au format suivant. 2017-09-04T07: 09: 30,269 + 00: 00Android Date de chaîne «2017-09-04T07: 09: 30.269 + 00: 00» convertir en long
Je veux qu'il convertir en temps pour enregistrer dans la base de données.
public static long convertStringDatetoLong(final String date, final String inputFormat) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(inputFormat);
try {
Date outputDate = simpleDateFormat.parse(date);
return outputDate.getTime();
} catch (ParseException e) {
e.printStackTrace();
}
return 0;
}
Puis-je appeler convertStringDatetoLong(date, "yyyy-mm-dd'T'HH:mm:ss.SSSXXX");
Mais je trouve que le converti est en quelque sorte de mal longtemps.
Le temps de résultat est 1483513770269 ce qui est faux. il devrait être parfois comme 1.504.509.270.911 qui commence par 15 ... (que je suis arrivé avec currentTimeMillis)
2017-09-04T07: 09: 30,269 + 00: 00, le temps d'entrée zone n'est pas le même comme Mon fuseau horaire qui est GMT + 08: 00
Je ne sais pas comment le convertir dans le fuseau horaire de l'appareil et obtenir les bonnes millisecondes à enregistrer.
Mise à jour:
Désolé que je fais chose stupide. ce devrait être MM pas mm.
Cette API requise 26. Je dois soutenir l'API de niveau inférieur> 16. –
Oh ok qui n'a pas été bref dix partout donc je m'attendais à utiliser un niveau élevé d'API. – Nico