Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android应用程序中从服务器获取当前日期和时间?_Java_Android_Date_Datetime_Time - Fatal编程技术网

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

Java 如何在android应用程序中从服务器获取当前日期和时间?,java,android,date,datetime,time,Java,Android,Date,Datetime,Time,我正在开发一个用于学习的android应用程序。我需要获取从服务器到android应用程序的当前日期和时间,并设置限制,以便该应用程序只能在指定的日期和时间内访问(例如,周一到周三,特定时区的上午10:30到下午3点)。我不想使用设备日期和时间,因为它可以更改,应用程序也可以访问 我签出了SntpClientcode并在我的应用程序中实现了它,但没有成功。 在服务器上编写一个简单的端点,它只返回一个表示毫秒的长值 编写一个简单的http客户端,从android客户端向该端点发出请求,或者通过该请

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

我签出了
SntpClient
code并在我的应用程序中实现了它,但没有成功。

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

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

  • 在android客户端中将
    String
    解析为
    Long
    Long
    解析为
    Date


在php代码中使用
$my_date=date(“Y-m-d H:i:s”)


对于当前日期,此输出将在android应用程序中解析,以帮助您开始

在运行Servlet容器(如ApacheTomcat或EclipseJetty)的web服务器上创建。servlet只返回一个字符串,其中包含UTC时区的标准ISO 8601格式的日期时间(无时区偏移),而不是完整的网页。添加库以避免使用臭名昭著的错误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
}
请参阅此链接,它可能会帮助您:)