Java 如何从时间戳中删除毫秒?
有人问我这个问题: 给定一个时间戳作为长值,用Java编写一个实用程序函数来删除毫秒。 例如,给定输入1274883865399(实际时间:20100526T14:24:25.399Z),则 函数将返回1274883865000(实际时间:2010-05-26T14:24:25.000Z) 我这样做:Java 如何从时间戳中删除毫秒?,java,timestamp,Java,Timestamp,有人问我这个问题: 给定一个时间戳作为长值,用Java编写一个实用程序函数来删除毫秒。 例如,给定输入1274883865399(实际时间:20100526T14:24:25.399Z),则 函数将返回1274883865000(实际时间:2010-05-26T14:24:25.000Z) 我这样做: import java.text.*; import java.util.*; public class ClearMilliSeconds { public static void m
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));
}
}
但是它没有给我正确的结果如果我理解正确,就没有必要使用日期/日历
long yourmilliseconds = 1274883865399L;
long droppedMillis = 1000 * (yourmilliseconds/ 1000);
System.out.println(droppedMillis);
1274883865000
或者。。。如果您希望设置日期格式
Calendar c = Calendar.getInstance();
c.setTime(new Date(yourmilliseconds));
c.set(Calendar.MILLISECOND, 0);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm.ss.SSS'Z'");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(sdf.format(c.getTime()));
2010-05-26T14:24.25.000Z有相同的问题,我的初始时间戳存储在sq中
并且做了
sq.setTime(1000*(长)数学地板(sq.getTime()/1000))代码>这就完成了任务。在我的例子中,sq是一个sql.Timestamp
您的代码有缺陷:您没有将yourmesicles应用于c(日历)。要保持在代码的边界内,请执行以下操作:
import java.text.*;
import java.util.*;
public class ClearMilliSeconds {
public static void main(String[] args) {
long yourmilliseconds = 1274883865399L;
Calendar c = Calendar.getInstance();
c.setTimeInMillis(yourmilliseconds);
c.set(Calendar.MILLISECOND, 0);
Date resultdate = new Date(c.getTimeInMillis());
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm");
System.out.println(sdf.format(resultdate));
}
}
谢谢,但我必须将其输出为:实际时间:2010-05-26T14:24:25.000ZI我们已经更新了我的答案以包含正确的数据格式非常感谢,非常感谢您的帮助。等等,但是为什么getTimeInMillis
返回的值不受Calendar.set(…)
方法的影响??