Androidアプリ開発

String型協定世界時をlong型日時に変換する

この記事は約35分で読めます。
記事内に広告が含まれています。
スポンサーリンク

この記事は Androidスマホ用のアプリ開発の中で、
今後の開発で再使用性が高いと思われるコーディングをまとめたものです。
Java での開発経験、XML構文規則、Android のアプリ開発経験がある方を対象としています。
Android のアプリ開発でお役にたててれば、嬉しいです。
(これから Android のアプリ開発や Java での開発を始めたい方への案内は、
記事の最後で紹介します)

この記事のテーマ


String型UTC協定世界時をlong型日時に変換する

ポイント

日時をデータ管理する場合、long型日時が何かと便利です。
long型日時は、基準日(1970年1月1日)からの経過(ミリ秒)をlong型で表現してます。
その一方で、日時をインタフェースで受け取る場合、String型日時であることが多い。
今回は、GPS受信機の標準インタフェースNMEAフォーマットのString型日時を、long型日時に変換する方法を紹介します。

NMEAセンテンスについて

NMEAフォーマットのString日時

NMEAフォーマットでは、時刻と日付を分けてインタフェースしています。
RMCセンテンスのhhmmss.ss形式で表されたUTC時刻と、ddmmyy形式で表された日付です。

NMEAデータの例

$GPRMC,071410.80,A,3444.6391,N,13530.8497,E,0.370000,0.000000,271223,,*37
$GPGGA,071410.80,3444.6391,N,13530.8497,E,1,00,0.0,-2.660000,M,0.0,M,,*44
$GPGLL,3444.6391,N,13530.8497,E,071410.80,A,*2F

071410.80がUTC時刻、271223が日付です。

String型日時をlong型日時に変換する

String型日時を扱う場合、SimpleDateFormatを使用します。
SimpleDateFormatで編集、getTimelong型日時に変換します。
ここで重要なことは、String型日時では時差を考慮する必要があることです。

    private long timeMillis(String datetime) {
        @SuppressLint("SimpleDateFormat")
        SimpleDateFormat sdf = new SimpleDateFormat("ddMMyyhhmmss.SS");
        try {
            sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
            return Objects.requireNonNull(sdf.parse(datetime)).getTime();
        } catch (Exception e) {
            Log.d(TAG, Objects.requireNonNull(e.getMessage()));
            return 0;
        }
    }

SimpleDateFormatに対して、setTimeZoneで時差(タイムゾーン)を与えます。
日本標準時(JST)の場合は、Asia/Tokyoを設定します。

◎タイムゾーン

Africa/Abidjan:グリニッジ標準時
Africa/Accra:グリニッジ標準時
Africa/Addis_Ababa:東アフリカ時間
Africa/Algiers:中央ヨーロッパ標準時
Africa/Asmara:東アフリカ時間
Africa/Asmera:東アフリカ時間
Africa/Bamako:グリニッジ標準時
Africa/Bangui:西アフリカ標準時
Africa/Banjul:グリニッジ標準時
Africa/Bissau:グリニッジ標準時
Africa/Blantyre:中央アフリカ時間
Africa/Brazzaville:西アフリカ標準時
Africa/Bujumbura:中央アフリカ時間
Africa/Cairo:東ヨーロッパ標準時
Africa/Casablanca:GMT+00:00
Africa/Ceuta:中央ヨーロッパ標準時
Africa/Conakry:グリニッジ標準時
Africa/Dakar:グリニッジ標準時
Africa/Dar_es_Salaam:東アフリカ時間
Africa/Djibouti:東アフリカ時間
Africa/Douala:西アフリカ標準時
Africa/El_Aaiun:GMT+00:00
Africa/Freetown:グリニッジ標準時
Africa/Gaborone:中央アフリカ時間
Africa/Harare:中央アフリカ時間
Africa/Johannesburg:南アフリカ標準時
Africa/Juba:中央アフリカ時間
Africa/Kampala:東アフリカ時間
Africa/Khartoum:中央アフリカ時間
Africa/Kigali:中央アフリカ時間
Africa/Kinshasa:西アフリカ標準時
Africa/Lagos:西アフリカ標準時
Africa/Libreville:西アフリカ標準時
Africa/Lome:グリニッジ標準時
Africa/Luanda:西アフリカ標準時
Africa/Lubumbashi:中央アフリカ時間
Africa/Lusaka:中央アフリカ時間
Africa/Malabo:西アフリカ標準時
Africa/Maputo:中央アフリカ時間
Africa/Maseru:南アフリカ標準時
Africa/Mbabane:南アフリカ標準時
Africa/Mogadishu:東アフリカ時間
Africa/Monrovia:グリニッジ標準時
Africa/Nairobi:東アフリカ時間
Africa/Ndjamena:西アフリカ標準時
Africa/Niamey:西アフリカ標準時
Africa/Nouakchott:グリニッジ標準時
Africa/Ouagadougou:グリニッジ標準時
Africa/Porto-Novo:西アフリカ標準時
Africa/Sao_Tome:グリニッジ標準時
Africa/Timbuktu:グリニッジ標準時
Africa/Tripoli:東ヨーロッパ標準時
Africa/Tunis:中央ヨーロッパ標準時
Africa/Windhoek:中央アフリカ時間
America/Adak:ハワイ・アリューシャン標準時
America/Anchorage:アラスカ標準時
America/Anguilla:大西洋標準時
America/Antigua:大西洋標準時
America/Araguaina:ブラジリア標準時
America/Argentina/Buenos_Aires:アルゼンチン標準時
America/Argentina/Catamarca:アルゼンチン標準時
America/Argentina/ComodRivadavia:アルゼンチン標準時
America/Argentina/Cordoba:アルゼンチン標準時
America/Argentina/Jujuy:アルゼンチン標準時
America/Argentina/La_Rioja:アルゼンチン標準時
America/Argentina/Mendoza:アルゼンチン標準時
America/Argentina/Rio_Gallegos:アルゼンチン標準時
America/Argentina/Salta:アルゼンチン標準時
America/Argentina/San_Juan:アルゼンチン標準時
America/Argentina/San_Luis:西部アルゼンチン標準時
America/Argentina/Tucuman:アルゼンチン標準時
America/Argentina/Ushuaia:アルゼンチン標準時
America/Aruba:大西洋標準時
America/Asuncion:パラグアイ標準時
America/Atikokan:アメリカ東部標準時
America/Atka:ハワイ・アリューシャン標準時
America/Bahia:ブラジリア標準時
America/Bahia_Banderas:アメリカ中部標準時
America/Barbados:大西洋標準時
America/Belem:ブラジリア標準時
America/Belize:アメリカ中部標準時
America/Blanc-Sablon:大西洋標準時
America/Boa_Vista:アマゾン標準時
America/Bogota:コロンビア標準時
America/Boise:アメリカ山地標準時
America/Buenos_Aires:アルゼンチン標準時
America/Cambridge_Bay:アメリカ山地標準時
America/Campo_Grande:アマゾン標準時
America/Cancun:アメリカ東部標準時
America/Caracas:ベネズエラ時間
America/Catamarca:アルゼンチン標準時
America/Cayenne:仏領ギアナ時間
America/Cayman:アメリカ東部標準時
America/Chicago:アメリカ中部標準時
America/Chihuahua:アメリカ中部標準時
America/Ciudad_Juarez:アメリカ山地標準時
America/Coral_Harbour:アメリカ東部標準時
America/Cordoba:アルゼンチン標準時
America/Costa_Rica:アメリカ中部標準時
America/Creston:アメリカ山地標準時
America/Cuiaba:アマゾン標準時
America/Curacao:大西洋標準時
America/Danmarkshavn:グリニッジ標準時
America/Dawson:アメリカ山地標準時
America/Dawson_Creek:アメリカ山地標準時
America/Denver:アメリカ山地標準時
America/Detroit:アメリカ東部標準時
America/Dominica:大西洋標準時
America/Edmonton:アメリカ山地標準時
America/Eirunepe:アクレ標準時
America/El_Salvador:アメリカ中部標準時
America/Ensenada:アメリカ太平洋標準時
America/Fort_Nelson:アメリカ山地標準時
America/Fort_Wayne:アメリカ東部標準時
America/Fortaleza:ブラジリア標準時
America/Glace_Bay:大西洋標準時
America/Godthab:GMT-02:00
America/Goose_Bay:大西洋標準時
America/Grand_Turk:アメリカ東部標準時
America/Grenada:大西洋標準時
America/Guadeloupe:大西洋標準時
America/Guatemala:アメリカ中部標準時
America/Guayaquil:エクアドル時間
America/Guyana:ガイアナ時間
America/Halifax:大西洋標準時
America/Havana:キューバ標準時
America/Hermosillo:メキシコ太平洋標準時
America/Indiana/Indianapolis:アメリカ東部標準時
America/Indiana/Knox:アメリカ中部標準時
America/Indiana/Marengo:アメリカ東部標準時
America/Indiana/Petersburg:アメリカ東部標準時
America/Indiana/Tell_City:アメリカ中部標準時
America/Indiana/Vevay:アメリカ東部標準時
America/Indiana/Vincennes:アメリカ東部標準時
America/Indiana/Winamac:アメリカ東部標準時
America/Indianapolis:アメリカ東部標準時
America/Inuvik:アメリカ山地標準時
America/Iqaluit:アメリカ東部標準時
America/Jamaica:アメリカ東部標準時
America/Jujuy:アルゼンチン標準時
America/Juneau:アラスカ標準時
America/Kentucky/Louisville:アメリカ東部標準時
America/Kentucky/Monticello:アメリカ東部標準時
America/Knox_IN:アメリカ中部標準時
America/Kralendijk:大西洋標準時
America/La_Paz:ボリビア時間
America/Lima:ペルー標準時
America/Los_Angeles:アメリカ太平洋標準時
America/Louisville:アメリカ東部標準時
America/Lower_Princes:大西洋標準時
America/Maceio:ブラジリア標準時
America/Managua:アメリカ中部標準時
America/Manaus:アマゾン標準時
America/Marigot:大西洋標準時
America/Martinique:大西洋標準時
America/Matamoros:アメリカ中部標準時
America/Mazatlan:メキシコ太平洋標準時
America/Mendoza:アルゼンチン標準時
America/Menominee:アメリカ中部標準時
America/Merida:アメリカ中部標準時
America/Metlakatla:アラスカ標準時
America/Mexico_City:アメリカ中部標準時
America/Miquelon:サンピエール島・ミクロン島標準時
America/Moncton:大西洋標準時
America/Monterrey:アメリカ中部標準時
America/Montevideo:ウルグアイ標準時
America/Montreal:GMT-05:00
America/Montserrat:大西洋標準時
America/Nassau:アメリカ東部標準時
America/New_York:アメリカ東部標準時
America/Nipigon:アメリカ東部標準時
America/Nome:アラスカ標準時
America/Noronha:フェルナンド・デ・ノローニャ標準時
America/North_Dakota/Beulah:アメリカ中部標準時
America/North_Dakota/Center:アメリカ中部標準時
America/North_Dakota/New_Salem:アメリカ中部標準時
America/Nuuk:GMT-02:00
America/Ojinaga:アメリカ中部標準時
America/Panama:アメリカ東部標準時
America/Pangnirtung:アメリカ東部標準時
America/Paramaribo:スリナム時間
America/Phoenix:アメリカ山地標準時
America/Port-au-Prince:アメリカ東部標準時
America/Port_of_Spain:大西洋標準時
America/Porto_Acre:アクレ標準時
America/Porto_Velho:アマゾン標準時
America/Puerto_Rico:大西洋標準時
America/Punta_Arenas:GMT-03:00
America/Rainy_River:アメリカ中部標準時
America/Rankin_Inlet:アメリカ中部標準時
America/Recife:ブラジリア標準時
America/Regina:アメリカ中部標準時
America/Resolute:アメリカ中部標準時
America/Rio_Branco:アクレ標準時
America/Rosario:アルゼンチン標準時
America/Santa_Isabel:メキシコ北西部標準時
America/Santarem:ブラジリア標準時
America/Santiago:チリ標準時
America/Santo_Domingo:大西洋標準時
America/Sao_Paulo:ブラジリア標準時
America/Scoresbysund:GMT-02:00
America/Shiprock:アメリカ山地標準時
America/Sitka:アラスカ標準時
America/St_Barthelemy:大西洋標準時
America/St_Johns:ニューファンドランド標準時
America/St_Kitts:大西洋標準時
America/St_Lucia:大西洋標準時
America/St_Thomas:大西洋標準時
America/St_Vincent:大西洋標準時
America/Swift_Current:アメリカ中部標準時
America/Tegucigalpa:アメリカ中部標準時
America/Thule:大西洋標準時
America/Thunder_Bay:アメリカ東部標準時
America/Tijuana:アメリカ太平洋標準時
America/Toronto:アメリカ東部標準時
America/Tortola:大西洋標準時
America/Vancouver:アメリカ太平洋標準時
America/Virgin:大西洋標準時
America/Whitehorse:アメリカ山地標準時
America/Winnipeg:アメリカ中部標準時
America/Yakutat:アラスカ標準時
America/Yellowknife:アメリカ山地標準時
Antarctica/Casey:オーストラリア西部標準時
Antarctica/Davis:デービス基地時間
Antarctica/DumontDUrville:デュモン・デュルヴィル基地時間
Antarctica/Macquarie:オーストラリア東部標準時
Antarctica/Mawson:モーソン基地時間
Antarctica/McMurdo:ニュージーランド標準時
Antarctica/Palmer:GMT-03:00
Antarctica/Rothera:ロゼラ基地時間
Antarctica/South_Pole:ニュージーランド標準時
Antarctica/Syowa:昭和基地時間
Antarctica/Troll:グリニッジ標準時
Antarctica/Vostok:ボストーク基地時間
Arctic/Longyearbyen:中央ヨーロッパ標準時
Asia/Aden:アラビア標準時
Asia/Almaty:西カザフスタン時間
Asia/Amman:GMT+03:00
Asia/Anadyr:アナディリ標準時
Asia/Aqtau:西カザフスタン時間
Asia/Aqtobe:西カザフスタン時間
Asia/Ashgabat:トルクメニスタン標準時
Asia/Ashkhabad:トルクメニスタン標準時
Asia/Atyrau:西カザフスタン時間
Asia/Baghdad:アラビア標準時
Asia/Bahrain:アラビア標準時
Asia/Baku:アゼルバイジャン標準時
Asia/Bangkok:インドシナ時間
Asia/Barnaul:GMT+07:00
Asia/Beirut:東ヨーロッパ標準時
Asia/Bishkek:キルギス時間
Asia/Brunei:ブルネイ・ダルサラーム時間
Asia/Calcutta:インド標準時
Asia/Chita:ヤクーツク標準時
Asia/Choibalsan:チョイバルサン標準時
Asia/Chongqing:中国標準時
Asia/Chungking:中国標準時
Asia/Colombo:インド標準時
Asia/Dacca:バングラデシュ標準時
Asia/Damascus:GMT+03:00
Asia/Dhaka:バングラデシュ標準時
Asia/Dili:東ティモール時間
Asia/Dubai:湾岸標準時
Asia/Dushanbe:タジキスタン時間
Asia/Famagusta:GMT+02:00
Asia/Gaza:東ヨーロッパ標準時
Asia/Harbin:中国標準時
Asia/Hebron:東ヨーロッパ標準時
Asia/Ho_Chi_Minh:インドシナ時間
Asia/Hong_Kong:香港標準時
Asia/Hovd:ホブド標準時
Asia/Irkutsk:イルクーツク標準時
Asia/Istanbul:GMT+03:00
Asia/Jakarta:インドネシア西部時間
Asia/Jayapura:インドネシア東部時間
Asia/Jerusalem:イスラエル標準時
Asia/Kabul:アフガニスタン時間
Asia/Kamchatka:ペトロパブロフスク・カムチャツキー標準時
Asia/Karachi:パキスタン標準時
Asia/Kashgar:GMT+06:00
Asia/Kathmandu:ネパール時間
Asia/Katmandu:ネパール時間
Asia/Khandyga:ヤクーツク標準時
Asia/Kolkata:インド標準時
Asia/Krasnoyarsk:クラスノヤルスク標準時
Asia/Kuala_Lumpur:マレーシア時間
Asia/Kuching:マレーシア時間
Asia/Kuwait:アラビア標準時
Asia/Macao:中国標準時
Asia/Macau:中国標準時
Asia/Magadan:マガダン標準時
Asia/Makassar:インドネシア中部時間
Asia/Manila:フィリピン標準時
Asia/Muscat:湾岸標準時
Asia/Nicosia:東ヨーロッパ標準時
Asia/Novokuznetsk:クラスノヤルスク標準時
Asia/Novosibirsk:ノヴォシビルスク標準時
Asia/Omsk:オムスク標準時
Asia/Oral:西カザフスタン時間
Asia/Phnom_Penh:インドシナ時間
Asia/Pontianak:インドネシア西部時間
Asia/Pyongyang:韓国標準時
Asia/Qatar:アラビア標準時
Asia/Qostanay:西カザフスタン時間
Asia/Qyzylorda:西カザフスタン時間
Asia/Rangoon:ミャンマー時間
Asia/Riyadh:アラビア標準時
Asia/Saigon:インドシナ時間
Asia/Sakhalin:サハリン標準時
Asia/Samarkand:ウズベキスタン標準時
Asia/Seoul:韓国標準時
Asia/Shanghai:中国標準時
Asia/Singapore:シンガポール標準時
Asia/Srednekolymsk:GMT+11:00
Asia/Taipei:台北標準時
Asia/Tashkent:ウズベキスタン標準時
Asia/Tbilisi:ジョージア標準時
Asia/Tehran:イラン標準時
Asia/Tel_Aviv:イスラエル標準時
Asia/Thimbu:ブータン時間
Asia/Thimphu:ブータン時間
Asia/Tokyo:日本標準時
Asia/Tomsk:GMT+07:00
Asia/Ujung_Pandang:インドネシア中部時間
Asia/Ulaanbaatar:ウランバートル標準時
Asia/Ulan_Bator:ウランバートル標準時
Asia/Urumqi:GMT+06:00
Asia/Ust-Nera:ウラジオストク標準時
Asia/Vientiane:インドシナ時間
Asia/Vladivostok:ウラジオストク標準時
Asia/Yakutsk:ヤクーツク標準時
Asia/Yangon:ミャンマー時間
Asia/Yekaterinburg:エカテリンブルグ標準時
Asia/Yerevan:アルメニア標準時
Atlantic/Azores:アゾレス標準時
Atlantic/Bermuda:大西洋標準時
Atlantic/Canary:西ヨーロッパ標準時
Atlantic/Cape_Verde:カーボベルデ標準時
Atlantic/Faeroe:西ヨーロッパ標準時
Atlantic/Faroe:西ヨーロッパ標準時
Atlantic/Jan_Mayen:中央ヨーロッパ標準時
Atlantic/Madeira:西ヨーロッパ標準時
Atlantic/Reykjavik:グリニッジ標準時
Atlantic/South_Georgia:サウスジョージア時間
Atlantic/St_Helena:グリニッジ標準時
Atlantic/Stanley:フォークランド諸島標準時
Australia/ACT:オーストラリア東部標準時
Australia/Adelaide:オーストラリア中部標準時
Australia/Brisbane:オーストラリア東部標準時
Australia/Broken_Hill:オーストラリア中部標準時
Australia/Canberra:オーストラリア東部標準時
Australia/Currie:オーストラリア東部標準時
Australia/Darwin:オーストラリア中部標準時
Australia/Eucla:オーストラリア中西部標準時
Australia/Hobart:オーストラリア東部標準時
Australia/LHI:ロードハウ標準時
Australia/Lindeman:オーストラリア東部標準時
Australia/Lord_Howe:ロードハウ標準時
Australia/Melbourne:オーストラリア東部標準時
Australia/NSW:オーストラリア東部標準時
Australia/North:オーストラリア中部標準時
Australia/Perth:オーストラリア西部標準時
Australia/Queensland:オーストラリア東部標準時
Australia/South:オーストラリア中部標準時
Australia/Sydney:オーストラリア東部標準時
Australia/Tasmania:オーストラリア東部標準時
Australia/Victoria:オーストラリア東部標準時
Australia/West:オーストラリア西部標準時
Australia/Yancowinna:オーストラリア中部標準時
Brazil/Acre:アクレ標準時
Brazil/DeNoronha:フェルナンド・デ・ノローニャ標準時
Brazil/East:ブラジリア標準時
Brazil/West:アマゾン標準時
CET:GMT+01:00
CST6CDT:アメリカ中部標準時
Canada/Atlantic:大西洋標準時
Canada/Central:アメリカ中部標準時
Canada/Eastern:アメリカ東部標準時
Canada/Mountain:アメリカ山地標準時
Canada/Newfoundland:ニューファンドランド標準時
Canada/Pacific:アメリカ太平洋標準時
Canada/Saskatchewan:アメリカ中部標準時
Canada/Yukon:アメリカ山地標準時
Chile/Continental:チリ標準時
Chile/EasterIsland:イースター島標準時
Cuba:キューバ標準時
EET:GMT+02:00
EST:GMT-05:00
EST5EDT:アメリカ東部標準時
Egypt:東ヨーロッパ標準時
Eire:グリニッジ標準時
Etc/GMT:グリニッジ標準時
Etc/GMT+0:グリニッジ標準時
Etc/GMT+1:GMT-01:00
Etc/GMT+10:GMT-10:00
Etc/GMT+11:GMT-11:00
Etc/GMT+12:GMT-12:00
Etc/GMT+2:GMT-02:00
Etc/GMT+3:GMT-03:00
Etc/GMT+4:GMT-04:00
Etc/GMT+5:GMT-05:00
Etc/GMT+6:GMT-06:00
Etc/GMT+7:GMT-07:00
Etc/GMT+8:GMT-08:00
Etc/GMT+9:GMT-09:00
Etc/GMT-0:グリニッジ標準時
Etc/GMT-1:GMT+01:00
Etc/GMT-10:GMT+10:00
Etc/GMT-11:GMT+11:00
Etc/GMT-12:GMT+12:00
Etc/GMT-13:GMT+13:00
Etc/GMT-14:GMT+14:00
Etc/GMT-2:GMT+02:00
Etc/GMT-3:GMT+03:00
Etc/GMT-4:GMT+04:00
Etc/GMT-5:GMT+05:00
Etc/GMT-6:GMT+06:00
Etc/GMT-7:GMT+07:00
Etc/GMT-8:GMT+08:00
Etc/GMT-9:GMT+09:00
Etc/GMT0:グリニッジ標準時
Etc/Greenwich:グリニッジ標準時
Etc/UCT:協定世界時
Etc/UTC:協定世界時
Etc/Universal:協定世界時
Etc/Zulu:協定世界時
Europe/Amsterdam:中央ヨーロッパ標準時
Europe/Andorra:中央ヨーロッパ標準時
Europe/Astrakhan:GMT+04:00
Europe/Athens:東ヨーロッパ標準時
Europe/Belfast:グリニッジ標準時
Europe/Belgrade:中央ヨーロッパ標準時
Europe/Berlin:中央ヨーロッパ標準時
Europe/Bratislava:中央ヨーロッパ標準時
Europe/Brussels:中央ヨーロッパ標準時
Europe/Bucharest:東ヨーロッパ標準時
Europe/Budapest:中央ヨーロッパ標準時
Europe/Busingen:中央ヨーロッパ標準時
Europe/Chisinau:東ヨーロッパ標準時
Europe/Copenhagen:中央ヨーロッパ標準時
Europe/Dublin:グリニッジ標準時
Europe/Gibraltar:中央ヨーロッパ標準時
Europe/Guernsey:グリニッジ標準時
Europe/Helsinki:東ヨーロッパ標準時
Europe/Isle_of_Man:グリニッジ標準時
Europe/Istanbul:GMT+03:00
Europe/Jersey:グリニッジ標準時
Europe/Kaliningrad:東ヨーロッパ標準時
Europe/Kiev:東ヨーロッパ標準時
Europe/Kirov:GMT+03:00
Europe/Kyiv:東ヨーロッパ標準時
Europe/Lisbon:西ヨーロッパ標準時
Europe/Ljubljana:中央ヨーロッパ標準時
Europe/London:グリニッジ標準時
Europe/Luxembourg:中央ヨーロッパ標準時
Europe/Madrid:中央ヨーロッパ標準時
Europe/Malta:中央ヨーロッパ標準時
Europe/Mariehamn:東ヨーロッパ標準時
Europe/Minsk:モスクワ標準時
Europe/Monaco:中央ヨーロッパ標準時
Europe/Moscow:モスクワ標準時
Europe/Nicosia:東ヨーロッパ標準時
Europe/Oslo:中央ヨーロッパ標準時
Europe/Paris:中央ヨーロッパ標準時
Europe/Podgorica:中央ヨーロッパ標準時
Europe/Prague:中央ヨーロッパ標準時
Europe/Riga:東ヨーロッパ標準時
Europe/Rome:中央ヨーロッパ標準時
Europe/Samara:サマラ標準時
Europe/San_Marino:中央ヨーロッパ標準時
Europe/Sarajevo:中央ヨーロッパ標準時
Europe/Saratov:GMT+04:00
Europe/Simferopol:モスクワ標準時
Europe/Skopje:中央ヨーロッパ標準時
Europe/Sofia:東ヨーロッパ標準時
Europe/Stockholm:中央ヨーロッパ標準時
Europe/Tallinn:東ヨーロッパ標準時
Europe/Tirane:中央ヨーロッパ標準時
Europe/Tiraspol:東ヨーロッパ標準時
Europe/Ulyanovsk:GMT+04:00
Europe/Uzhgorod:東ヨーロッパ標準時
Europe/Vaduz:中央ヨーロッパ標準時
Europe/Vatican:中央ヨーロッパ標準時
Europe/Vienna:中央ヨーロッパ標準時
Europe/Vilnius:東ヨーロッパ標準時
Europe/Volgograd:ボルゴグラード標準時
Europe/Warsaw:中央ヨーロッパ標準時
Europe/Zagreb:中央ヨーロッパ標準時
Europe/Zaporozhye:東ヨーロッパ標準時
Europe/Zurich:中央ヨーロッパ標準時
GB:グリニッジ標準時
GB-Eire:グリニッジ標準時
GMT:グリニッジ標準時
GMT+0:グリニッジ標準時
GMT-0:グリニッジ標準時
GMT0:グリニッジ標準時
Greenwich:グリニッジ標準時
HST:GMT-10:00
Hongkong:香港標準時
Iceland:グリニッジ標準時
Indian/Antananarivo:東アフリカ時間
Indian/Chagos:インド洋時間
Indian/Christmas:クリスマス島時間
Indian/Cocos:ココス諸島時間
Indian/Comoro:東アフリカ時間
Indian/Kerguelen:仏領南方南極時間
Indian/Mahe:セーシェル時間
Indian/Maldives:モルディブ時間
Indian/Mauritius:モーリシャス標準時
Indian/Mayotte:東アフリカ時間
Indian/Reunion:レユニオン時間
Iran:イラン標準時
Israel:イスラエル標準時
Jamaica:アメリカ東部標準時
Japan:日本標準時
Kwajalein:マーシャル諸島時間
Libya:東ヨーロッパ標準時
MET:GMT+01:00
MST:GMT-07:00
MST7MDT:アメリカ山地標準時
Mexico/BajaNorte:アメリカ太平洋標準時
Mexico/BajaSur:メキシコ太平洋標準時
Mexico/General:アメリカ中部標準時
NZ:ニュージーランド標準時
NZ-CHAT:チャタム標準時
Navajo:アメリカ山地標準時
PRC:中国標準時
PST8PDT:アメリカ太平洋標準時
Pacific/Apia:アピア標準時
Pacific/Auckland:ニュージーランド標準時
Pacific/Bougainville:GMT+11:00
Pacific/Chatham:チャタム標準時
Pacific/Chuuk:チューク時間
Pacific/Easter:イースター島標準時
Pacific/Efate:バヌアツ標準時
Pacific/Enderbury:フェニックス諸島時間
Pacific/Fakaofo:トケラウ時間
Pacific/Fiji:フィジー標準時
Pacific/Funafuti:ツバル時間
Pacific/Galapagos:ガラパゴス時間
Pacific/Gambier:ガンビエ諸島時間
Pacific/Guadalcanal:ソロモン諸島時間
Pacific/Guam:チャモロ時間
Pacific/Honolulu:ハワイ・アリューシャン標準時
Pacific/Johnston:ハワイ・アリューシャン標準時
Pacific/Kanton:フェニックス諸島時間
Pacific/Kiritimati:ライン諸島時間
Pacific/Kosrae:コスラエ時間
Pacific/Kwajalein:マーシャル諸島時間
Pacific/Majuro:マーシャル諸島時間
Pacific/Marquesas:マルキーズ時間
Pacific/Midway:サモア標準時
Pacific/Nauru:ナウル時間
Pacific/Niue:ニウエ時間
Pacific/Norfolk:ノーフォーク島時間
Pacific/Noumea:ニューカレドニア標準時
Pacific/Pago_Pago:サモア標準時
Pacific/Palau:パラオ時間
Pacific/Pitcairn:ピトケアン時間
Pacific/Pohnpei:ポナペ時間
Pacific/Ponape:ポナペ時間
Pacific/Port_Moresby:パプアニューギニア時間
Pacific/Rarotonga:クック諸島標準時
Pacific/Saipan:チャモロ時間
Pacific/Samoa:サモア標準時
Pacific/Tahiti:タヒチ時間
Pacific/Tarawa:ギルバート諸島時間
Pacific/Tongatapu:トンガ標準時
Pacific/Truk:チューク時間
Pacific/Wake:ウェーク島時間
Pacific/Wallis:ウォリス・フツナ時間
Pacific/Yap:チューク時間
Poland:中央ヨーロッパ標準時
Portugal:西ヨーロッパ標準時
ROC:台北標準時
ROK:韓国標準時
Singapore:シンガポール標準時
Turkey:GMT+03:00
UCT:協定世界時
US/Alaska:アラスカ標準時
US/Aleutian:ハワイ・アリューシャン標準時
US/Arizona:アメリカ山地標準時
US/Central:アメリカ中部標準時
US/East-Indiana:アメリカ東部標準時
US/Eastern:アメリカ東部標準時
US/Hawaii:ハワイ・アリューシャン標準時
US/Indiana-Starke:アメリカ中部標準時
US/Michigan:アメリカ東部標準時
US/Mountain:アメリカ山地標準時
US/Pacific:アメリカ太平洋標準時
US/Samoa:サモア標準時
UTC:協定世界時
Universal:協定世界時
W-SU:モスクワ標準時
WET:GMT+00:00
Zulu:協定世界時

NMEAフォーマットのString日時をlong型日時に変換する

NMEAフォーマットでは、カンマ区切りで時刻は1番目、日付は9番目なので、結合してtimeMillisを呼び出します。

:
String[] data = nmea.split(",");
// $GPRMC (1)UTC時刻hhmmss.ss (9)UTC日付ddmmyy
long timeMillis = timeMillis(data[9] + data[1]);
:

SimpleDateFormatは、日付や時刻をフォーマットで自由に表現できるので、日付変換をシンプルに実装できます。

今回は、ここまでです。

String型UTC協定世界時をlong型日時に変換にしているAndroidアプリです。

WF-1000XM4の下取りキャンペーン中。買い替えするなら、今がチャンスです♪

誤字脱字、意味不明でわかりづらい、
もっと詳しく知りたいなどのご意見は、
このページの最後にある
コメントか、
こちらから、お願いいたします♪

ポチッとして頂けると、
次のコンテンツを作成する励みになります♪

ブログランキング・にほんブログ村へ

これからAndroidのアプリ開発やJavaでの開発を始めたい方へ

アプリケーション開発経験がない方や、アプリケーション開発経験がある方でも、Java や C# などのオブジェクト指向言語が初めての方は、Android のアプリ開発ができるようになるには、かなりの時間がかかります。
オンラインスクールでの習得を、強くおススメします。

未経験者からシステムエンジニアを目指すのに最適です。まずは無料相談から♪

未経験者からプログラマーを目指すのに最適です。まずは無料カウンセリングから♪

カリキュラムとサポートがしっかりしています。お得なキャンペーンとかいろいろやっています♪

ゲーム系に強いスクール、UnityやUnrealEngineを習得するのに最適です。まずは無料オンライン相談から♪

参考になったら、💛をポッとしてね♪

スポンサーリンク
msakiをフォローする
スポンサーリンク

コメント欄

タイトルとURLをコピーしました