package com.jiuqi.njt.register;
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.Context;
import android.os.SystemClock;
import com.jiuqi.njt.data.HttpHelper;
import com.jiuqi.njt.util.SntpClient;
public class ServerTimeUtil {
private Context context ;
private String TAG = this.getClass().getName();
public ServerTimeUtil(Context context) {
super();
this.context = context;
}
/**
* 获取服务器端时间
* @return
*/
public static long getServerTime(){
long serverTime = 0;
SntpClient client = SntpClient.getInstance();
List<BasicNameValuePair> queryParams=new ArrayList<BasicNameValuePair>();
queryParams.add(new BasicNameValuePair("getTime","yes"));
String stateJson;
try {
stateJson = new HttpHelper().getEntity("http://www.jqgj.com.cn:9090/jqgj_server_client/login!getServerTime.action",queryParams);
if (stateJson != null && !stateJson.equals("-1") && !stateJson.equals("500")) {
try {
JSONObject obj = new JSONObject(stateJson);
serverTime = obj.getLong("timeSec");
} catch (JSONException e) {
e.printStackTrace();
}
} else {
if (client.requestTime("cn.pool.ntp.org", 60000)) {
serverTime= client.getNtpTime() + SystemClock.elapsedRealtime() - client.getNtpTimeReference();
}
if(serverTime==0){
try {
URL url = new URL("http://www.bjtime.cn");// 取得资源对象
URLConnection uc = url.openConnection();// 生成连接对象
uc.connect(); // 发出连接
serverTime= uc.getDate(); // 取得网站日期时间
} catch (Exception e) {
e.printStackTrace();
}
}
}
} catch (IOException e1) {
e1.printStackTrace();
}
///TODO 如果获取不到时间就用手机时间
if(serverTime == 0){
serverTime =System.currentTimeMillis();
}
//获取网络时间
return serverTime;
}
}