Je veux calculer la différence de temps entre deux dates (dans le format "yyyymmddhmmss"). L'idée de base est d'abord de convertir la date de chaîne en millisecondes, puis d'obtenir la différence de temps. résultat: p> 1301189353000 P> P> P> 1301191153000 p> Évidemment, la première date est plus tard que la seconde, mais sa milliseconde convertie est plus petite. Ai-je effectué une erreur de format? P> p>
3 Réponses :
La différence de temps entre les deux horodatages de la SEP est de 30 minutes:
2011-03-27 03:29:13 2011-03-27 03:59:13 (+1 hour from original time)
Merci, c'est exactement la raison!
Je parie que vous êtes dans un lieu local où le temps a été changé de 2 heures (AM) à 3 heures (AM) pour l'heure d'été du jour le 27 mars 2011 (voir Ce lien )
Votre première fois est p> et votre deuxième fois est p> en fait, votre deuxième fois est: p> ,,
2011 03 27 03 59 13
yyyy MM dd HH mm ss
Peut-être que ce code peut vous aider:
Calendar c1 = Calendar.getInstance(TimeZone.getTimeZone("UTC")); Calendar c2 = Calendar.getInstance(TimeZone.getTimeZone("UTC")); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); c1.setTime(sdf.parse("20110327032913")); System.out.println(c1.getTimeInMillis()); c2.setTime(sdf.parse("20110327025913")); System.out.println(c2.getTimeInMillis()); System.out.println((c1.getTimeInMillis()-c2.getTimeInMillis())/(1000*60)+ " minutes");
Cela fonctionne bien pour moi, impression
1301221753000 code> et
1301219953000 code>. Dans quel fuseau horaire / locale utilisez-vous?
Avec mon code, la première valeur est supérieure à la seconde.
Il n'y a pas de problème avec votre code, il est d'imprimer quelque chose correct: ideone.com/eis1wi
Comme @vulcan a dit, le
localiser code> pourrait être important dans certains cas, peut aimer le vôtre. Ceci est un exemple: Stackoverflow.com/questions/11510713/...
Je suppose que c'est qu'un changement de fuseau horaire a eu lieu dans les paramètres régionaux par défaut de votre système, similaires à cette question .
@Vulcan: Oui, les changements de fuseau horaire sont courants le 27 mars 2011 dans de nombreux pays, voir Lien