2

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

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

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

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

4

3 回答 3

4

使用 Java 的日历:(因为我心爱的日期已被弃用) 日历 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”。

干杯。

于 2013-04-06T19:14:23.260 回答
2

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

echo time() * 1000;

如果您需要时间戳以毫秒为单位,请注意microtime(),此函数不返回整数,因此您必须进行一些转换

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

于 2013-04-06T19:19:17.307 回答
2

本身并没有真正的“Android”时间戳。PHP:time()返回从 GMT/UTC 纪元开始以秒为单位的 unix 时间戳。如果您想创建一个人类可读的时间戳,例如January 1 1970 00:00:00 GMT您可以使用 Java 的 Calender,但我建议您使用Joda Time,因为它更易于使用且功能更强大。

于 2013-04-06T20:08:42.217 回答