我正在开发一个应用程序,我必须将long值转换为Date字符串并显示。为了实现我正在使用以下功能的目的,但它从70's and 80's
返回我的日期显然不合适。我使用以下结果:
public static String convertDateFromLongToCompleteString(long date) {
Date d = new Date(date * 1000);
SimpleDateFormat dateformat = new SimpleDateFormat("dd/MM/yyyy hh:mm a");
String formattedDateFromLong = dateformat.format(d);
return formattedDateFromLong;
}
long值只是System.currentTimeMillis()
,当我必须向用户显示时,我必须格式化我正在使用上面的函数。我检查了系统和设备日期,它们的区域和时间,一切都很好。请更新为什么会出现此问题以及如何获取确切日期。谢谢!
修改
我也尝试过1000次乘法,它给了我1970年的时间和日期。
答案 0 :(得分:0)
如果您的long date
只是System.currentTimeMillis()
,则不需要与1000
相乘。
Date d = new Date(date);
答案 1 :(得分:0)
将Date d = new Date(date * 1000);
替换为Date d = new Date(date);
答案 2 :(得分:0)
如果您仅在System.currentTimeMillis()
上使用上述方法,则可以在没有任何参数的情况下调用Date
构造函数,它会为您提供引用当前日期的Date
对象和时间。这将是解决问题的更简单方法。希望这会有所帮助。