我在Java中将Unix时间戳转换为日期的代码:
String s = "1255485965825";
long d = Long.valueOf(s) * 1000L;
str = new java.text.SimpleDateFormat("dd/MM/yyyy").format(new java.util.Date(d));
My output:08/05/2784
Expected Result:10/13/2009
为什么我会得到未来约会和完全错误的结果。请帮助我。谢谢你提前
答案 0 :(得分:2)
您的输入字符串"1255485965825"
似乎已包含毫秒数。因此,您不应该乘以1000
。
答案 1 :(得分:1)
你乘以1000.从纪元开始已经是毫秒,只是通过了Long.valueOf(s)
答案 2 :(得分:0)
时间戳已经是毫秒,不要乘以1000!
String s = "1255485965825";
long d = Long.valueOf(s);
String str = new java.text.SimpleDateFormat("dd/MM/yyyy").format(new java.util.Date(d));
System.out.println(str);
在这里给出正确的输出。