将长值格式化为日期字符串?

时间:2013-02-28 11:25:44

标签: android date string-formatting android-date

我正在开发一个应用程序,我必须将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年的时间和日期。

3 个答案:

答案 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对象和时间。这将是解决问题的更简单方法。希望这会有所帮助。