Unix时间戳在DateTime中不断返回1970年1月17日



我使用以下方法返回一个格式化日期,比如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;
}

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

您可以从此网站查看时间单位(TimeStamp)所指的时间日期。

http://currentmillis.com/

要从unix时间戳中获得正确的时间,只需更改DateTime日期=新的DateTime(时间戳);进入

    DateTime date = new DateTime(timestamp*1000);

因为unix时间以秒为单位提供timpestamp,而我们需要millis。

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

select  UNIX_TIMESTAMP(yourtimestamp) *1000  from tablename.

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

最新更新