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

时间:2016-04-11 18:51:01

标签: 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;
}

2 个答案:

答案 0 :(得分:9)

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

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

http://currentmillis.com/

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

    DateTime date = new DateTime(timestamp*1000);

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

答案 1 :(得分:0)

查询以毫秒为单位获取时间戳:

select  UNIX_TIMESTAMP(yourtimestamp) *1000  from tablename.

这给出了mysql中的时间戳(以毫秒为单位)