我使用以下方法返回一个格式化日期,比如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 中给出了以毫秒为单位的时间戳