1
/
5

【Quipperブログ】Prefer ISO 8601

こんにちは。Quipper採用担当の鈴木です。今回の記事は、@ujihisaによるPrefer ISO 8601です!是非、ご覧ください!

01/02/03 という日付を見たときに、どう読み取りますか? 著者 ujihisa はこれを素直に 2003年1月2日と読み取りますが、人によっては

  • 2001 年 2 月 3 日
  • 2003 年 2 月 1 日
  • 平成元年 2 月 3 日
  • 令和元年 2 月 3 日

などと読み取ることもあるでしょう。日本では年/月/日が普及していますが、英語などから順序を無視した機械的な翻訳の日付でまれによくある「1月2日 2003年」みたいな表記を見すぎてしまった人は月/日/年みたいに読んでしまうかもしれません。

ところで私はカナダに住んでいるのですが、カナダという国はこのようにスラッシュ区切りの日付を以下の 3 パターンのいずれかで読みとります。

  • 月/日/年
  • 年/月/日
  • 日/月/年

https://commons.wikimedia.org/wiki/File:Date_format_by_country_revised.svg にあるすばらしい図

によると、このような 3 記法が混在しているエリア、つまり混沌のエリアとして、カナダと南極大陸が挙げられています。

便利な標準記法の ISO 8601

前置きが長くなっちゃいました。カナダ一国でサービスを展開するときや、そうでなくても、複数の記法が混在する国々へのサービスを展開する*1ときは、日付の区切りは人々を必ず混乱させることが保証されています。これは良い感じに明示的になんかしないといろいろ不便です。

https://en.wikipedia.org/wiki/ISO_8601

2001-02-03

ISO の国際規格の ISO8601 がこういうときにとても便利です。これは日本では JIS X 0301:2002 として、カナダでは CAN/CSA-Z234.4-89 (R2007)として、それぞれ自国内の標準としても通用します。まあ実際にこれを呼ぶときは ISO 8601 と読んでおけばたぶん盤石です。

検索することのできる「名前」がついているということはほんとうに最高で、一言「ISO 8601 だよ」というだけで表記が一気に明確になるのは嬉しいです。Quipper 社では Slack reacji の :iso8601: の出番がそこそこあります。

スラッシュ区切りじゃなくハイフン区切りなのがまた見た目的にハッキリ違っていて嬉しいです。

また、 ISO 8601 は年がはじめにきて、かつそれが省略不可能なのがとてもよいです。「これ5/2までね!」みたいな書き方は本当に最悪で、いちいちそれを書いた日付を(git blameなりその他色々なりで)特定するという人間の労働が必要になり、つらい感じになります。最初から下手に省略せず素直に 2020-05-02 のように書くと、全人類が最高の体験をできて日々の生活がうれしくなってとてもよいです。

具体的な使い方

Ruby のコード内で日付を書くときは Date.new ではなく富豪的に

みたいにします。他のプログラミング言語でもそのようにします。

Google Spreadsheet では Format -> Number -> 2008-09-26 とします。

余談

私は元同僚に飲み会に誘われるときによく "So, Monday at ~5-530pm at the pub? (2019-11-25T17:00:00-08:00)" みたいに書いていただく機会が多く、とても体験が良いです。

*1:Quipperは日本・インドネシア・フィリピン・メキシコにサービスを提供しているので、YMDとDMYとDMY+MDYとDMYの組み合わせ、ということになりますね。ようするに全部入りです。

スタディサプリ's job postings

Weekly ranking

Show other rankings