不通过读取手机时间,读取服务器时间,通过NTP协议进行获取时间
ios: http://blog.csdn.net/wzq9706/article/details/9497615
android :http://blog.csdn.net/mapdigit/article/details/7669325
也可以从response的headers中获取:
okhttp可以这样获取:
response.headers().get("Date");
上边的是格林时间,可以转成我们自己的北京时区时间
public static void getServerTimeDelta(ResponseInfo<String> responseInfo){
if (responseInfo != null) {
Header headers = responseInfo.getFirstHeader("Date");
String strServerDate = headers.getValue();
if (!TextUtils.isEmpty(strServerDate)){
//Thu, 29 Sep 2016 07:57:42 GMT
final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z",
Locale.ENGLISH);
TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
try {
Date serverDate = simpleDateFormat.parse(strServerDate);
GeexekApplication.ResponseTime = serverDate.getTime();
GeexekApplication.ResponseCurrentTime =SystemClock.elapsedRealtime();
}catch(Exception exception){
exception.printStackTrace();
}
}
}
}