Unix 时间戳在 DateTime 中不断返回 Jan 17 1970

Unix timestamp keeps returning Jan 17 1970 in DateTime

我正在使用以下方法 return 格式化日期,如 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;
}

您的时间戳有误。它不代表以毫秒为单位的正确时间。 YOur timeStamp 指的是 01:41PM,星期六,1970 年 1 月 17 日。

您可以从该站点查看 timeinmillis (TimeStamp) 指的是什么时间日期。

http://currentmillis.com/

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

    DateTime date = new DateTime(timestamp*1000);

因为 unix 时间以秒为单位给出 timpestamp,我们这里需要毫秒。

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

select  UNIX_TIMESTAMP(yourtimestamp) *1000  from tablename.

这给出了 mysql

中以毫秒为单位的时间戳