Me formularon esta pregunta:¿Cómo eliminar milisegundos de una marca de tiempo?
Dando una marca de tiempo como un valor largo, escriba una función de utilidad en Java para soltar los milisegundos. Por ejemplo, dada una entrada de 1274883865399 (tiempo real: 20100526T14: 24: 25.399Z), la función volvería 1274883865000 (tiempo real: 2010-05-26T14: 24: 25.000Z)
Hice esto:
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));
}
}
Pero no me dio el resultado correcto
Espera, pero * ¿por qué * es el valor devuelto por 'getTimeInMillis' ** no ** afectado por el método' Calendar.set (...) '?? – Marco