Android時間擷取與使用,android時間擷取

來源:互聯網
上載者:User

[轉]Android時間擷取與使用,android時間擷取
編寫Android網路程式時難免會遇到手機時間不準確的問題,本文總結了一些常用的時間擷取與校正方法:轉載請註明:http://blog.csdn.net/xzy20461.擷取本機目前時間:

Time local = new Time();local.set(System.currentTimeMillis());mLocalTime.setText(local.format2445());
2.擷取本機時間對應的上海時間:
Time shanghai = new Time("Asia/Shanghai");shanghai.set(System.currentTimeMillis());mShangHaiTime.setText(shanghai.format2445());

各位可能想瞭解類似Asia/Shanghai從哪邊可以查到,本文最後將附上尋找表。

3.擷取本機時間對應的東京時間
Time tokyo = new Time("Asia/Tokyo");tokyo.set(System.currentTimeMillis());mTokyoTime.setText(tokyo.format2445());
4.擷取網路時間:
URL url = null;            try {                url = new URL("http://www.baidu.com");            } catch (MalformedURLException e) {                e.printStackTrace();            }            URLConnection uc = null;            try {                uc = url.openConnection();                uc.connect();            } catch (IOException e) {                e.printStackTrace();            }            long ld = uc.getDate();            Date date = new Date(ld);            Log.i("xzy", "Net Time is : " + date.getHours() + "時" + date.getMinutes() + "分" + date.getSeconds() + "秒");

注意網路相關方法需要做非同步處理,不能直接在UI線程中擷取。本文最後將提供一個Demo,在AsyncTaskLoader中進行網路請求。

5.通過Gps擷取目前時間:
LocationManager locMan = (LocationManager) this.getSystemService(LOCATION_SERVICE);        locMan.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, new LocationListener() {            @Override            public void onLocationChanged(Location location) {                long time = location.getTime();                Date date = new Date(time);                mGpsTime.setText(date.toString());            }             @Override            public void onStatusChanged(String provider, int status, Bundle extras) {             }             @Override            public void onProviderEnabled(String provider) {             }             @Override            public void onProviderDisabled(String provider) {             }        });
6.計算手機當前時區和北京時區的差值:
Date date = new Date();long timezoneDiff = TimeZone.getDefault().getOffset(date.getTime()) - TimeZone.getTimeZone("GMT+8").getOffset(date.getTime());

通過這個差值和之前我們擷取網路時間,可以計算出本機時間和網路時間的差值。對時間進行轉換,解決一系列的時間錯誤問題。

7.附國家縮寫和時區名稱對照表:
//主要城市,國家對應表String[] world = new String[]{        "ad", "Europe/Andorra",        "ae", "Asia/Dubai",        "af", "Asia/Kabul",        "ag", "America/Antigua",        "ai", "America/Anguilla",        "al", "Europe/Tirane",        "am", "Asia/Yerevan",        "an", "America/Curacao",        "ao", "Africa/Luanda",        "aq", "Antarctica/McMurdo",        "aq", "Antarctica/DumontDUrville",        "aq", "Antarctica/Casey",        "aq", "Antarctica/Davis",        "aq", "Antarctica/Mawson",        "aq", "Antarctica/Syowa",        "aq", "Antarctica/Rothera",        "aq", "Antarctica/Palmer",        "ar", "America/Argentina/Buenos_Aires",        "as", "Pacific/Pago_Pago",        "at", "Europe/Vienna",        "au", "Australia/Sydney",        "au", "Australia/Adelaide",        "au", "Australia/Perth",        "au", "Australia/Eucla",        "aw", "America/Aruba",        "ax", "Europe/Mariehamn",        "az", "Asia/Baku",        "ba", "Europe/Sarajevo",        "bb", "America/Barbados",        "bd", "Asia/Dhaka",        "be", "Europe/Brussels",        "bf", "Africa/Ouagadougou",        "bg", "Europe/Sofia",        "bh", "Asia/Bahrain",        "bi", "Africa/Bujumbura",        "bj", "Africa/Porto-Novo",        "bm", "Atlantic/Bermuda",        "bn", "Asia/Brunei",        "bo", "America/La_Paz",        "br", "America/Noronha",        "br", "America/Sao_Paulo",        "br", "America/Manaus",        "bs", "America/Nassau",        "bt", "Asia/Thimphu",        "bw", "Africa/Gaborone",        "by", "Europe/Minsk",        "bz", "America/Belize",        "ca", "America/St_Johns",        "ca", "America/Halifax",        "ca", "America/Toronto",        "ca", "America/Winnipeg",        "ca", "America/Edmonton",        "ca", "America/Vancouver",        "cc", "Indian/Cocos",        "cd", "Africa/Lubumbashi",        "cd", "Africa/Kinshasa",        "cf", "Africa/Bangui",        "cg", "Africa/Brazzaville",        "ch", "Europe/Zurich",        "ci", "Africa/Abidjan",        "ck", "Pacific/Rarotonga",        "cl", "America/Santiago",        "cl", "Pacific/Easter",        "cm", "Africa/Douala",        "cn", "Asia/Shanghai",        "co", "America/Bogota",        "cr", "America/Costa_Rica",        "cu", "America/Havana",        "cv", "Atlantic/Cape_Verde",        "cx", "Indian/Christmas",        "cy", "Asia/Nicosia",        "cz", "Europe/Prague",        "de", "Europe/Berlin",        "dj", "Africa/Djibouti",        "dk", "Europe/Copenhagen",        "dm", "America/Dominica",        "do", "America/Santo_Domingo",        "dz", "Africa/Algiers",        "ec", "America/Guayaquil",        "ec", "Pacific/Galapagos",        "ee", "Europe/Tallinn",        "eg", "Africa/Cairo",        "eh", "Africa/El_Aaiun",        "er", "Africa/Asmara",        "es", "Europe/Madrid",        "es", "Atlantic/Canary",        "et", "Africa/Addis_Ababa",        "fi", "Europe/Helsinki",        "fj", "Pacific/Fiji",        "fk", "Atlantic/Stanley",        "fm", "Pacific/Ponape",        "fm", "Pacific/Truk",        "fo", "Atlantic/Faroe",        "fr", "Europe/Paris",        "ga", "Africa/Libreville",        "gb", "Europe/London",        "gd", "America/Grenada",        "ge", "Asia/Tbilisi",        "gf", "America/Cayenne",        "gg", "Europe/Guernsey",        "gh", "Africa/Accra",        "gi", "Europe/Gibraltar",        "gl", "America/Danmarkshavn",        "gl", "America/Scoresbysund",        "gl", "America/Godthab",        "gl", "America/Thule",        "gm", "Africa/Banjul",        "gn", "Africa/Conakry",        "gp", "America/Guadeloupe",        "gq", "Africa/Malabo",        "gr", "Europe/Athens",        "gs", "Atlantic/South_Georgia",        "gt", "America/Guatemala",        "gu", "Pacific/Guam",        "gw", "Africa/Bissau",        "gy", "America/Guyana",        "hk", "Asia/Hong_Kong",        "hn", "America/Tegucigalpa",        "hr", "Europe/Zagreb",        "ht", "America/Port-au-Prince",        "hu", "Europe/Budapest",        "id", "Asia/Jayapura",        "id", "Asia/Makassar",        "id", "Asia/Jakarta",        "ie", "Europe/Dublin",        "il", "Asia/Jerusalem",        "im", "Europe/Isle_of_Man",        "in", "Asia/Calcutta",        "io", "Indian/Chagos",        "iq", "Asia/Baghdad",        "ir", "Asia/Tehran",        "is", "Atlantic/Reykjavik",        "it", "Europe/Rome",        "je", "Europe/Jersey",        "jm", "America/Jamaica",        "jo", "Asia/Amman",        "jp", "Asia/Tokyo",        "ke", "Africa/Nairobi",        "kg", "Asia/Bishkek",        "kh", "Asia/Phnom_Penh",        "ki", "Pacific/Kiritimati",        "ki", "Pacific/Enderbury",        "ki", "Pacific/Tarawa",        "km", "Indian/Comoro",        "kn", "America/St_Kitts",        "kp", "Asia/Pyongyang",        "kr", "Asia/Seoul",        "kw", "Asia/Kuwait",        "ky", "America/Cayman",        "kz", "Asia/Almaty",        "kz", "Asia/Aqtau",        "la", "Asia/Vientiane",        "lb", "Asia/Beirut",        "lc", "America/St_Lucia",        "li", "Europe/Vaduz",        "lk", "Asia/Colombo",        "lr", "Africa/Monrovia",        "ls", "Africa/Maseru",        "lt", "Europe/Vilnius",        "lu", "Europe/Luxembourg",        "lv", "Europe/Riga",        "ly", "Africa/Tripoli",        "ma", "Africa/Casablanca",        "mc", "Europe/Monaco",        "md", "Europe/Chisinau",        "me", "Europe/Podgorica",        "mg", "Indian/Antananarivo",        "mh", "Pacific/Majuro",        "mk", "Europe/Skopje",        "ml", "Africa/Bamako",        "mm", "Asia/Rangoon",        "mn", "Asia/Choibalsan",        "mn", "Asia/Hovd",        "mo", "Asia/Macau",        "mp", "Pacific/Saipan",        "mq", "America/Martinique",        "mr", "Africa/Nouakchott",        "ms", "America/Montserrat",        "mt", "Europe/Malta",        "mu", "Indian/Mauritius",        "mv", "Indian/Maldives",        "mw", "Africa/Blantyre",        "mx", "America/Mexico_City",        "mx", "America/Chihuahua",        "mx", "America/Tijuana",        "my", "Asia/Kuala_Lumpur",        "mz", "Africa/Maputo",        "na", "Africa/Windhoek",        "nc", "Pacific/Noumea",        "ne", "Africa/Niamey",        "nf", "Pacific/Norfolk",        "ng", "Africa/Lagos",        "ni", "America/Managua",        "nl", "Europe/Amsterdam",        "no", "Europe/Oslo",        "np", "Asia/Katmandu",        "nr", "Pacific/Nauru",        "nu", "Pacific/Niue",        "nz", "Pacific/Auckland",        "nz", "Pacific/Chatham",        "om", "Asia/Muscat",        "pa", "America/Panama",        "pe", "America/Lima",        "pf", "Pacific/Gambier",        "pf", "Pacific/Marquesas",        "pf", "Pacific/Tahiti",        "pg", "Pacific/Port_Moresby",        "ph", "Asia/Manila",        "pk", "Asia/Karachi",        "pl", "Europe/Warsaw",        "pm", "America/Miquelon",        "pn", "Pacific/Pitcairn",        "pr", "America/Puerto_Rico",        "ps", "Asia/Gaza",        "pt", "Europe/Lisbon",        "pt", "Atlantic/Azores",        "pw", "Pacific/Palau",        "py", "America/Asuncion",        "qa", "Asia/Qatar",        "re", "Indian/Reunion",        "ro", "Europe/Bucharest",        "rs", "Europe/Belgrade",        "ru", "Asia/Kamchatka",        "ru", "Asia/Magadan",        "ru", "Asia/Vladivostok",        "ru", "Asia/Yakutsk",        "ru", "Asia/Irkutsk",        "ru", "Asia/Krasnoyarsk",        "ru", "Asia/Novosibirsk",        "ru", "Asia/Yekaterinburg",        "ru", "Europe/Samara",        "ru", "Europe/Moscow",        "ru", "Europe/Kaliningrad",        "rw", "Africa/Kigali",        "sa", "Asia/Riyadh",        "sb", "Pacific/Guadalcanal",        "sc", "Indian/Mahe",        "sd", "Africa/Khartoum",        "se", "Europe/Stockholm",        "sg", "Asia/Singapore",        "sh", "Atlantic/St_Helena",        "si", "Europe/Ljubljana",        "sj", "Arctic/Longyearbyen",        "sk", "Europe/Bratislava",        "sl", "Africa/Freetown",        "sm", "Europe/San_Marino",        "sn", "Africa/Dakar",        "so", "Africa/Mogadishu",        "sr", "America/Paramaribo",        "st", "Africa/Sao_Tome",        "sv", "America/El_Salvador",        "sy", "Asia/Damascus",        "sz", "Africa/Mbabane",        "tc", "America/Grand_Turk",        "td", "Africa/Ndjamena",        "tf", "Indian/Kerguelen",        "tg", "Africa/Lome",        "th", "Asia/Bangkok",        "tj", "Asia/Dushanbe",        "tk", "Pacific/Fakaofo",        "tl", "Asia/Dili",        "tm", "Asia/Ashgabat",        "tn", "Africa/Tunis",        "to", "Pacific/Tongatapu",        "tr", "Europe/Istanbul",        "tt", "America/Port_of_Spain",        "tv", "Pacific/Funafuti",        "tw", "Asia/Taipei",        "tz", "Africa/Dar_es_Salaam",        "ua", "Europe/Kiev",        "ug", "Africa/Kampala",        "um", "Pacific/Wake",        "um", "Pacific/Johnston",        "um", "Pacific/Midway",        "us", "America/New_York",        "us", "America/Chicago",        "us", "America/Denver",        "us", "America/Los_Angeles",        "us", "America/Anchorage",        "us", "Pacific/Honolulu",        "uy", "America/Montevideo",        "uz", "Asia/Tashkent",        "va", "Europe/Vatican",        "vc", "America/St_Vincent",        "ve", "America/Caracas",        "vg", "America/Tortola",        "vi", "America/St_Thomas",        "vn", "Asia/Saigon",        "vu", "Pacific/Efate",        "wf", "Pacific/Wallis",        "ws", "Pacific/Apia",        "ye", "Asia/Aden",        "yt", "Indian/Mayotte",        "za", "Africa/Johannesburg",        "zm", "Africa/Lusaka",        "zw", "Africa/Harare",};

測試程式下載地址:
http://download.csdn.net/detail/xzy2046/8161511

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.