【问题标题】:how to convert php time() to android timestamp?如何将 php time() 转换为 android 时间戳?
【发布时间】:2013-03-29 02:34:14
【问题描述】:

我的服务器将文件上次更新时间作为 php time() 字符串发送

我的 android 应用程序从服务器接收响应为 php 时间戳,如 1365228375

据我所知,android 读取时间戳以毫秒为单位

我的问题是如何将 php time() 转换为 android 时间戳,以及如何将转换后的时间戳转换为 android 应用程序中的人类可读?

【问题讨论】:

  • 如果你使用time(),转换是没有意义的。请参阅this 以获取实际毫秒数
  • 嗨,杰克,如果您找到了一个足以解决您的问题的有用答案,最好将其标记为 答案,以便未来的用户可以看到哪个解决方案可以使用来自。
  • 谢谢你让我开心
  • 别担心,伙计!这就是我们在这里闲逛的原因

标签: php android


【解决方案1】:

使用 Java 的日历:(因为我心爱的 Date 已被弃用) Calendar API

尝试类似:

Calendar c = Calendar.getInstance();

c.setTimeInMillis(1365228375*1000);

System.out.print(c.toString()); - just to demonstrate the API has lots of info about presentation

只需将从 PHP 返回到 Android 应用程序的任何内容替换上面显示的“1365228375”即可。

干杯。

【讨论】:

    【解决方案2】:

    嗯,从秒到微秒的转换应该不会太难;

    echo time() * 1000;
    

    如果您需要时间戳以毫秒为单位准确,请查看microtime() 但是,此函数返回整数,因此您必须这样做一些转化

    不知道如何将其转换为 Android 中的可读时间

    【讨论】:

      【解决方案3】:

      本身并没有真正的“Android”时间戳。 PHP:time() 从纪元 GMT/UTC 返回一个以秒为单位的 unix 时间戳。如果你想创建一个人类可读的时间戳,比如January 1 1970 00:00:00 GMT,你可以使用Java的日历,但我建议使用Joda Time,因为它更容易使用并且更健壮。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-10-19
        • 1970-01-01
        • 2017-03-30
        • 1970-01-01
        • 2011-01-29
        • 2013-10-22
        • 2016-04-15
        • 1970-01-01
        相关资源
        最近更新 更多