我正在使用以下方法返回格式化日期,例如 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。
您可以从该站点查看 timeinmillis (TimeStamp) 指的是什么时间日期。
要从 unix 时间戳中获取正确的时间,只需更改您的 DateTime date = new DateTime(timestamp);进入
DateTime date = new DateTime(timestamp*1000);
因为 unix 时间以秒为单位给出 timpestamp,我们在这里需要毫秒。
关于java - Unix 时间戳在 DateTime 中不断返回 Jan 17 1970,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36556875/