我已经看到这个问题被问了很多次,似乎没有一个答案是我需要的。
我有一个长类型变量,其中存储了一个纪元时间。
我想要做的是将它转换成一个字符串
例如,如果存储的纪元时间为今天,则最终字符串应为:
17/03/2012
我该怎么做呢?
发布于 2012-03-18 07:12:19
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
sdf.format(new Date(myTimeAsLong));
发布于 2014-07-24 13:10:58
Date date = new Date(String);
这是不推荐使用的。
解决方案
Date date = new Date(1406178443 * 1000L);
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
format.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
String formatted = format.format(date);
确保乘以1000L
发布于 2016-03-21 07:17:25
如果该方法应该是可移植的,则最好使用默认(本地时间) TimeZone.getDefault()
String epochToIso8601(long time) {
String format = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.getDefault());
sdf.setTimeZone(TimeZone.getDefault());
return sdf.format(new Date(time * 1000));
}
https://stackoverflow.com/questions/9754600
复制相似问题