0

我正在开发一个应用程序,在该应用程序中我必须将长值转换为日期字符串并显示。为了达到我使用以下功能的目的,但它返回的日期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 年的时间和日期。

4

3 回答 3

0

如果您long date是简单System.currentTimeMillis()的,则1000不需要乘以。

Date d = new Date(date);

于 2013-02-28T11:27:53.987 回答
0

替换 Date d = new Date(date * 1000);Date d = new Date(date);

于 2013-02-28T11:29:30.153 回答
0

如果您仅使用上述方法System.currentTimeMillis(),则可以不带任何参数调用Date构造函数,它将为您提供Date引用当前日期和时间的对象。这将是解决您的问题的更简单方法。希望这可以帮助。

于 2013-02-28T11:35:48.807 回答