国による年月日表記の違いで、児童ポルノ送信容疑誤認逮捕!? プログラマーから見た「日付」問題

日付イメージ

Free-Photos via Pixabay

米国と欧州の日付フォーマットの違いにより、児童ポルノ送信容疑

 9月のことだが、スペインの新聞のニュースを読んだ。ある家族のもとに、突然4人の警官が捜査令状を持って飛び込んできた。そして、家のものを全てひっくり返して、コンピューターとモバイルデバイスを、ことごとく持ち去った。そして家族は悪夢の7ヶ月間を過ごした(EL PAÍS)。  警察がその家に踏み込んだのは2017年のことである。なぜ警察が、その家に現れたのか、事件は前年にさかのぼる。捜査官たちは、2016年にFacebookに児童ポルノをアップロードした人物を追っていた。スペインの警察は、アメリカからIPアドレスと接続日を受け取った。IPアドレスは動的に変わる。だから、犯罪がおこなわれた瞬間に、そのIPアドレスで接続していたのが誰かを、突き止めなければならない。  アメリカからスペインに送られた日付は、10/11/2016だった。アメリカの日付表記では、この表記は2016年10月11日と解釈する。スペインでは違う。同じ表記を、2016年11月10日と解釈する。10月11日と11月10日は、別の日だ。警察は、まったく無関係な家に踏み込み、全てのコンピューターとモバイル機器を押収して、家族を容疑者にしてしまったのだ。  検察も捜査判事も間違いに気づいていなかった。彼らが、アメリカからのレポートをきちんと読んでいたかも怪しいそうだ。警察に押収されたコンピューターには、家族の仕事の機密情報も入っていた。家族は、なぜ自分たちに容疑が掛けられているのかも知らされなかった。間違いに気づいたのは、家族を守るための弁護士だった。  この話を読んだとき、プログラマーなら「ありうるだろうな」と思うかもしれない。プログラムを書いていて、日付の処理はかなり面倒くさい部類に入る。世界各地の時差の存在地域ごとの表記の違い。  それらを解決するための処理が、プログラミング言語に含まれていることも多い。また、プログラミング言語自体になくても、多くの人が使うライブラリ(プログラムの命令集)として存在していることもある。  そうした、プログラムで困る「日付の話」を今回はしよう。

プログラムを書いていて困る「日付フォーマット」の違い

 プログラムは、世界各地で使われる。日本でしか使わないプログラムでも、他の国とデータをやり取りするのならば、日時の処理を避けて通るわけにはいかない。そうした処理を無視してプログラムを書けば、ある時間に送ったメールが、別の場所では未来から届くといったことも起こりうる。  時差の話は、今回は置いておこう。今回の悲劇は日付の表記の違いで起きた。年月日を表す方法は、日本人なら「2020年11月22日」「2020/11/22」のような方法だろう。しかし、プログラムの本場であるアメリカでは違う。  Webページで多く使われているJavaScriptで、同じ日付を、最も単純な方法で表示するとどうなるか。「Nov 22 2020」になる。この日付をプログラムで入力するときは「new Date(2020, 10, 22)」というように書く。多くのプログラミング言語で、11月は「10」と書く。1月なら「0」だ。なぜ、こんな不可解な書き方をするのか。  アメリカでは、月を「文字」で書く。文字を、「配列」と呼ばれる表のような形式に並べて、文字を表示する。配列という表は「0」から数える。「Jan」が0、「Feb」が1、「Mar」が2である。アメリカ人は、これが「分かりやすい」と考えてプログラムを書いた。しかし、アメリカ人以外には分かり難い。アメリカ人の常識は、世界の常識ではないからだ。  では、文字ではなく数字で表現すればよかったかというと、そうはならない。国による表記方法がまちまちなので、やはり混乱を招いただろう。  プログラムで日付形式を表すときは、年をy、月をm、日をdのようなアルファベットで表現することが多い。yyyyなら、年を4桁で表現するという意味だ。いくつかの国の数字での年月日の表記を見てみよう(日付の形式)。 ・カナダ(英語) dd/mm/yy  24/08/01 ・デンマーク語  yyyy-mm-dd 2001–08–24 ・フィンランド語 dd.mm.yyyy 24.08.2001 ・フランス語   dd/mm/yyyy 24/08/2001 ・ドイツ語    yyyy-mm-dd 2001–08–24 ・イタリア語   dd/mm/yy  24/08/01 ・ノルウェー語  dd-mm-yy  24–08–01 ・スペイン語   dd-mm-yy  24-08-01 ・スウェーデン語 yyyy-mm-dd 2001-08-24 ・イギリス    dd/mm/yy  24/08/01 ・米国      mm-dd-yy  08-24-01 ・タイ      dd/mm/yyyy 24/08/2001  見事にバラバラである。こうした日付の表示を、各国ごとに対応させるのは面倒だということが分かるだろう。自分ではやりたくない作業の筆頭にあげられるのではないかと思う。
次のページ 
世界がネットワークで繋がったことで生じた面倒さ
1
2
バナー 日本を壊した安倍政権
新着記事

ハーバービジネスオンライン編集部からのお知らせ

政治・経済

コロナ禍でむしろ沁みる「全員悪人」の祭典。映画『ジェントルメン』の魅力

カルチャー・スポーツ

頻発する「検索汚染」とキーワードによる検索の限界

社会

ロンドン再封鎖16週目。最終回・英国社会は「新たな段階」に。<入江敦彦の『足止め喰らい日記』嫌々乍らReturns>

国際

仮想通貨は“仮想”な存在なのか? 拡大する現実世界への影響

政治・経済

漫画『進撃の巨人』で政治のエッセンスを。 良質なエンターテイメントは「政治離れ」の処方箋

カルチャー・スポーツ

上司の「応援」なんて部下には響かない!? 今すぐ職場に導入するべきモチベーションアップの方法

社会

64bitへのWindowsの流れ。そして、32bit版Windowsの終焉

社会

再び訪れる「就職氷河期」。縁故優遇政権を終わらせるのは今

政治・経済

微表情研究の世界的権威に聞いた、AI表情分析技術の展望

社会

PDFの生みの親、チャールズ・ゲシキ氏死去。その技術と歴史を振り返る

社会

新年度で登場した「どうしてもソリが合わない同僚」と付き合う方法

社会

マンガでわかる「ウイルスの変異」ってなに?

社会

アンソニー・ホプキンスのオスカー受賞は「番狂わせ」なんかじゃない! 映画『ファーザー』のここが凄い

カルチャー・スポーツ

ネットで話題の「陰謀論チャート」を徹底解説&日本語訳してみた

社会

ロンドン再封鎖15週目。肥満やペットに現れ出したニューノーマル社会の歪み<入江敦彦の『足止め喰らい日記』嫌々乍らReturns>

社会

「ケーキの出前」に「高級ブランドのサブスク」も――コロナ禍のなか「進化」する百貨店

政治・経済

「高度外国人材」という言葉に潜む欺瞞と、日本が搾取し依存する圧倒的多数の外国人労働者の実像とは?

社会