如何从Android应用程序中的服务器获取当前日期和时间?

时间:2013-12-19 06:00:40

标签: java android date datetime time

我正在开发一款用于学习目的的Android应用程序。我需要从我的服务器到我的Android应用程序获取当前日期和时间并设置限制,以便只能在指定的日期和时间(例如,周一至周三,从上午10:30到下午3点)访问应用程序特定时区)。我不想使用设备日期和时间,因为它可以更改,并且可以访问应用程序。

我检查了SntpClient代码并在我的应用中实现了它但没有成功。

3 个答案:

答案 0 :(得分:3)

  • 在您的服务器上写一个简单的端点,它只返回一个代表毫秒的长值

  • 编写一个简单的http客户端,从android客户端向该端点发出请求,或者通过该请求传递一些令牌,以了解哪些设备/客户端/用户正在访问,或者在此处添加安全通信

    < / LI>
  • 在Android客户端中解析StringLongLongDate

答案 1 :(得分:0)

php代码中的

使用$my_date = date("Y-m-d H:i:s");

当前日期,此输出在Android应用程序中解析

答案 2 :(得分:0)

帮助您入门......

在运行Servlet容器的Web服务器上创建Java Servlet,例如Apache Tomcat或Eclipse Jetty。 servlet仅返回一个字符串,其中包含标准ISO 8601格式的日期时间(UTC时区)(无时区偏移)。添加Joda-Time库以避免使用臭名昭着的java.util.Date/Calendar。

servlet的核心......

String now = new DateTime( DateTimeZone.UTC ).toString();

使用Android端的HTTP客户端库来调用servlet。

客户端代码的核心......

DateTime start = new DateTime( 2013, 12, 13, 14, 15, 16, DateTimeZone.UTC );
DateTime stop = start.plusHours( 8 );
DateTime now = new DateTime( stringReturnedByServlet, DateTimeZone.UTC );
if ( now.isAfter(start) & now.isBefore(stop) ) {
  // Do your thing
} else {
  // Refuse to do your thing
}