在Java中最简单的方法是什么?理想情况下,我将以毫秒为单位使用Unix时间作为输入,函数将输出类似
的字符串2011年11月7日下午5:00
答案 0 :(得分:19)
SimpleDateFormat sdf = new SimpleDateFormat("MMMM d, yyyy 'at' h:mm a");
String date = sdf.format(myTimestamp);
答案 1 :(得分:3)
我想将我的unix_timestamps(如1372493313)转换为人类可读格式,如Jun 29 4:08。
上面的回答帮助我了解了我的Android应用代码。有点不同的是,在Android上它建议使用区域设置,而我原来的unix_timestamp是以秒为单位,而不是毫秒,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();
}
答案 2 :(得分:0)
java.util.Date date = new java.util.Date((long) time * 1000L);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));