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; } }