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

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

最佳答案

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

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

http://currentmillis.com/

要从 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/

相关文章:

java - 如何使用 RedissonSessionManager 设置 redis "session key prefix"

java - 无法使用 Joda 时间获得两个时间戳之间的正确差异

java - 在interval.parse()中抛出异常

java - SpringMVC项目配置

java - if 语句中的多个 instanceof

android - 让导航中的 DialogFragment 在弹出返回堆栈时不会消失

java - android - 英镑符号被损坏

java - 从一项 Activity 转移到另一项 Activity 时 Android 应用程序崩溃

java - Jodatime 是否有一种方法可以获取自某个较早日期以来的月份和日期?

java - 无法解析方法 'getdrawable()