16位时间戳转换为Java日期格式

16位时间戳转换为Java日期格式,java,date,timestamp,type-conversion,Java,Date,Timestamp,Type Conversion,我有一个应用程序的16位时间戳,我无法登录 我想在Java应用程序中使用它 是否有一个函数允许您进行这种转换 例如: 1409304572565675是2014年8月29日11:29 我发现它可能是一个php毫秒的时间戳,但在Java中找不到任何方法将其转换为日期。试试这个System.out.println(新日期(14093045725675L/1000)) 不要忘了时区。如果真的是从大纪元(1970年1月1日00:00:000 GMT)算起的毫秒,你只需调用新日期(140930457256

我有一个应用程序的16位时间戳,我无法登录

我想在Java应用程序中使用它

是否有一个函数允许您进行这种转换

例如:

1409304572565675是2014年8月29日11:29


我发现它可能是一个php毫秒的时间戳,但在Java中找不到任何方法将其转换为日期。

试试这个
System.out.println(新日期(14093045725675L/1000))
不要忘了时区。

如果真的是从大纪元(1970年1月1日00:00:000 GMT)算起的毫秒,你只需调用
新日期(1409304572565675L)


然而,这似乎是一个微秒级的时间戳,也就是说,你必须将其除以1000才能得到实际毫秒,因此
新日期(1409304572565675L/1000)
将是你的选择

您可以在日历对象上使用setTimeInMillis()方法:

Calendar c = Calendar.getInstance();
c.setTimeInMillis(temp);

尝试使用Long.parseLong:

String x = "1086073200000"

DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");

long milliSeconds= Long.parseLong(x);
System.out.println(milliseconds);

Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(milliSeconds);
System.out.println(formatter.format(calendar.getTime())); 

是的,以微秒为单位:新日期(14093045725675L/1000)非常完美,谢谢!