用Java将Unix时间转换为可读日期
在Java中最简单的方法是什么?理想情况下,我将使用Unix时间(以毫秒为单位)作为输入,函数将输出一个字符串,如用Java将Unix时间转换为可读日期,java,datetime,Java,Datetime,在Java中最简单的方法是什么?理想情况下,我将使用Unix时间(以毫秒为单位)作为输入,函数将输出一个字符串,如 2011年11月7日下午5:00我想将我的unix_时间戳(如1372493313)转换为人类可读的格式(如6月29日4:08) SimpleDateFormat sdf = new SimpleDateFormat("MMMM d, yyyy 'at' h:mm a"); String date = sdf.format(myTimestamp); 上面的回答对我的Androi
2011年11月7日下午5:00我想将我的unix_时间戳(如1372493313)转换为人类可读的格式(如6月29日4:08)
SimpleDateFormat sdf = new SimpleDateFormat("MMMM d, yyyy 'at' h:mm a");
String date = sdf.format(myTimestamp);
上面的回答对我的Android应用程序代码有帮助。有一点不同的是,在Android上,它建议也使用区域设置,我最初的unix_时间戳是以秒为单位的,而不是以毫秒为单位的,Eclipse希望添加try/catch块或抛出异常。因此,我的工作代码必须进行如下修改:
/**
*
* @param unix_timestamp
* @return
* @throws ParseException
*/
private String unixToDate(String unix_timestamp) throws ParseException {
long timestamp = Long.parseLong(unix_timestamp) * 1000;
SimpleDateFormat sdf = new SimpleDateFormat("MMM d H:mm", Locale.CANADA);
String date = sdf.format(timestamp);
return date.toString();
}
这是呼叫代码:
String formatted_timestamp;
try {
formatted_timestamp = unixToDate(unix_timestamp); // timestamp in seconds
} catch (ParseException e) {
e.printStackTrace();
}
你看过日历了吗?:你为什么不玩玩一会儿,告诉我们你是否/何时卡住了?这非常有效,除非在“0”结束时,例如1:40或5:20,0将不会显示。对不起,请尝试h:mm,而不是h:mI在我的时间戳为2015年1月时,将1970年1月作为输出。将时间戳乘以1000L就可以了。
java.util.Date date = new java.util.Date((long) time * 1000L);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));