有没有办法从Website获取当前时间?
我创建了一个应用程序。我想获得当前时间。如果用户更改设备的时间且时间不等于网站,则不允许用户使用该应用。我不明白如何获得当前时间。我只是需要帮助才能获得当前的世界时间。
答案 0 :(得分:1)
如果您只需要输出YYYY.MM.DD-HH.MM.SS格式的时间戳(非常频繁的情况),那么这就是这样做的方法:
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime());
答案 1 :(得分:0)
如果您需要一个可以使用timezonedb的实际时间的Web API:
您可以获取任何时区的当前时间
请求
http://api.timezonedb.com/v2/get-time-zone?key=YOUR_API_KEY&format=json&by=zone&zone=America/Chicago
响应
{
"status":"OK",
"message":"",
"countryCode":"US",
"countryName":"United States",
"zoneName":"America\/Chicago",
"abbreviation":"CST",
"gmtOffset":-21600,
"dst":"0",
"dstStart":1446361200,
"dstEnd":1457856000,
"nextAbbreviation":"CDT",
"timestamp":1454446991,
"formatted":"2016-02-02 21:03:11"
}
更新:Android示例
API Key是您(免费)register to the website
时从API服务器获得的值我写了一个获取数据的例子。
private Response getServerTime(){
HttpURLConnection urlConnection = null;
try {
URL url = new URL("http://api.timezonedb.com/v2/get-time-zone?key=YOUR_API_KEY&format=json&by=zone&zone=America/Chicago");
urlConnection = (HttpURLConnection) url.openConnection();
InputStream stream = new BufferedInputStream(urlConnection.getInputStream());
BufferedReader in = new BufferedReader(new InputStreamReader(stream));
StringBuilder sb = new StringBuilder();
String s;
while ((s = in.readLine()) != null)
sb.append(s);
String json = sb.toString();
Response response = new GsonBuilder().create().fromJson(in, Response.class);
return response;
} catch(Exception e) {
e.printStackTrace();
}
finally {
if(urlConnection != null)
urlConnection.disconnect();
}
return null;
}
另外,为响应创建模型
public class Response {
public String status;
public String message;
public String countryCode;
public String countryName;
public String zoneName;
public String abbreviation;
public int gmtOffset;
public String dst;
public int dstStart;
public int dstEnd;
public String nextAbbreviation;
public int timestamp;
public String formatted;
}
将Gson库添加到您应用的build.gradle
dependencies {
..
compile 'com.google.code.gson:gson:2.8.2'
}
答案 2 :(得分:0)
很简单,在网站上添加了一个php页面。我回家后可以发布一些代码。
<强>增加:强>
只需在Web服务器中创建此gettime.php文件:
<?php
date_default_timezone_set('UTC');
$currentdatetime = date('Y-m-d H:i:s');
print ($currentdatetime);
?>
执行http://www.mywebsite.com/gettime.php
,您将获得一个包含UTC网络服务器时间的字符串