编程语言
首页 > 编程语言> > Java将unix时间戳转换为错误的时间

Java将unix时间戳转换为错误的时间

作者:互联网

我有unix timestammp存储在mysql中.我正在把它转化为时间.它显示错误的时间.

这是代码:

Date date = new Date((long)timestamp*1000); 
SimpleDateFormat sdf = new SimpleDateFormat("h:mm a"); 
sdf.setTimeZone(TimeZone.getTimeZone("GMT+5:30"));
timeString = sdf.format(date);
System.out.println(timeString);`

timestamp是包含unix时间戳的变量.
例如:对于时间戳= 1417437428505,它应该显示下午6:07并显示12:31 AM

它的解决方案是什么?

解决方法:

你将自Unix时代以来已经以毫秒为单位的时间戳乘以1000.你只需要:

Date date = new Date(timestamp);

如果您查看所有日期,而不仅仅是时间,您会看到它目前在46886!

标签:java,unix,unix-timestamp
来源: https://codeday.me/bug/20190830/1767108.html