Unix时间戳在DateTime中保持1970年1月17日返回

Nou*_*vay 1 java android jodatime

我正在使用以下方法返回格式化的日期07:00AM, Apr 12 2016.但我一直在努力01:41PM, Sat, Jan 17 1970.比方说我的时间戳是1460469600.

这是我的方法.

public static String formattedDate(long timestamp) {
    DateTime date = new DateTime(timestamp);
    String formatted= date.toString("hh:mma, EEE, MMM dd yyyy");
    return formatted;
}
Run Code Online (Sandbox Code Playgroud)

Rag*_*esh 9

你的timeStamp是错的.它不代表毫秒的正确时间.你的timeStamp是指1970年1月17日星期六01:41 PM.

您可以查看timeinmillis(TimeStamp)从此站点引用的时间日期.

http://currentmillis.com/

要从unix时间戳获取正确的时间,只需更改DateTime date = new DateTime(timestamp); 成

    DateTime date = new DateTime(timestamp*1000);
Run Code Online (Sandbox Code Playgroud)

因为unix时间在几秒钟内给出了timpestamp,我们需要毫秒.