Comment faire pour supprimer millisecondes à partir d'un timestamp?
J'ai été demandé à cette question :
Donné un timestamp comme une valeur de type long, écrire une fonction utilitaire en Java pour déposer les millisecondes.
Par exemple, pour une entrée de 1274883865399 (le temps réel: 20100526T14:24:25.399 Z), la
la fonction serait de retour 1274883865000 (le temps réel: 2010-05-26T14:24:25.000 Z)
Je l'ai fait :
import java.text.*;
import java.util.*;
public class ClearMilliSeconds {
public static void main(String[] args) {
long yourmilliseconds = 1274883865399L;
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm");
Calendar c = Calendar.getInstance();
Date resultdate = new Date(yourmilliseconds);
c.set(Calendar.MILLISECOND, 0);
resultdate.setTime(c.getTimeInMillis());
System.out.println(sdf.format(resultdate));
}
}
Mais il ne me donne pas le bon résultat
Attendez, mais pourquoi est la valeur retournée par
getTimeInMillis
pas touchés par la Calendar.set(...)
méthode??OriginalL'auteur Majid Kamal | 2012-03-09
Vous devez vous connecter pour publier un commentaire.
Si je vous comprends bien il n'est pas nécessaire d'utiliser de la Date /Calendrier...
1274883865000
Ou... si vous voulez avoir la date de mise en forme...
2010-05-26T14:24.25.000 Z
Changer votre date format aaaa-MM-jj PAS'HH:mm.ss.SSS Z'
J'ai mis à jour ma réponse pour inclure la mise en forme des données
Merci beaucoup, votre aide est appréciée.
OriginalL'auteur Adam
Avait même question a mon initiale timestamp stocké dans sq
et n'
sq.setTime(1000*(long)Math.floor(sq.getTime()/1000));
qui fait le travail. Dans mon cas, sq est unesql.Timestamp
OriginalL'auteur Tom