日付と時刻を表示する
私達はそれらの日付と時間に出会います…ええ、毎日。 Webに関しては、モバイルアプリ、Eメール、メッセージングアプリ、その他多くの場所でそれらを見つけることができます。それでも、毎日そして至る所で日付と時刻を見ているにもかかわらず, 我々はまだそれのための普遍的なフォーマットを採用していません.
たとえば、2015年10月5日に書いた場合、「10」が月または日付であるかどうかを確認することはできません。フォーマットが変わることもあれば、言語が変わることもあります。.
Web開発者として、私たちは自分のプロジェクトで扱う日時に注意を払うことが重要です。 地理的に異なる住民に食料調達する 矛盾なく。この記事では議論します 何を避け、何を受け入れるべきか 日時を表示することになると.
グローバリゼーション
世界中の異なる視聴者に異なる日付と時刻の形式を変換して表示したくないとしましょう。どうすればよいでしょうか。私達は1つの全体的なフォーマットを選び、それに固執します。ここにいくつかの規格が効くところです。その前に、U3CタイムゾーンでISO 8601日付フォーマットを使用することをW3Cが推奨することをアドバイスしなければなりません。.
ISO 8601
ISO 8601は、数字を使用して日付と時刻を表すための国際的に認められた方法を説明しています。.
完全な日付の形式は次のとおりです。 YYYY-MM-DD
, 例えば: 2015-07-28
YYYY = 4桁の年
MM = 2桁の月(01 = 1月など)
DD = 2桁の日(01から31)
完全な日時の場合YYYY-MM-DDThh:mm:ss.s
, 例えば: 2015-07-28T21:15:18.45
T = ISO 8601に従って日付と時刻を分ける
mm = 2桁の分(00から59)
ss = 2桁の秒(00から59)
s =小数秒、1桁以上
上記の例ではタイムゾーンが言及されていないので、時間は現地のタイムゾーンであると仮定されるべきであることに注意してください。あなたがUTCタイムゾーンを使うことに決めたならば、ちょうど加えなさい Z UTCを表す値に
例えば: 2015-07-28T21:15:18.45Z
あなたが現地時間を表示したい場合はしかし、あなたはそれから追加することができます タイムゾーンオフセット UTCからフォーマットの値まで +hh:mm
または -hh:mm
必要に応じて.
例を挙げましょう。 2015-07-28T21:15:18.45
UTCタイムゾーンより5時間遅れているEST(東部標準時)タイムゾーンにあります。.
それをUTCオフセットで表すために、 2015-07-28T21:15:18.45-05:00
これはUTC時間に相当します 2015-07-29T02:15:18.45Z
.
再び Z 表示される日時がUTC時間であることを表すために追加されます。.
UTCとGMT
両者は同じですが違います。今までには、おそらく少なくとも一度GMTに遭遇したでしょう。携帯電話またはコンピュータで日時を設定している間。それはUTCより長く存在していたのでそれは世界的に認められた最も人気のあるタイムゾーンです。.
UTCはGMTの後継者であり、International Telecommunications Unionによって維持されています。 GMTではなくUTCに基づいて時間を参照することをお勧めします。.
月の名前を使う
ISO規格では、言語の競合を避けるために日付表記に数字のみを使用していました。しかし、Webアプリケーションの内容が英語になる場合は、数ヶ月ではなく英語で月を書き留めておくことを検討してください。.
の代わりに 2015-07-28
, 2015年7月28日
多くの人が理解しやすく、混乱が少ない.
ローカライゼーション
私達が私達のサービスと非常に特定されたいと思う時があり、現地のタイムゾーンと言語で日時を表したいと思う時があります。 Web開発者がアクセス地域ごとに日付と時刻を使用して表示するために使用できるライブラリとAPIは数多くあります。.
ブラウザのデフォルトロケールは、 受け入れ言語
リクエストヘッダまたは navigator.languageまたはnavigator.browserLanguage
JavaScriptオブジェクトですが、最良の方法は ユーザーにアプリケーションのロケールを選択させる 前者の方法はあまり信頼できないので.
ロケールを取得したら、それに従って日付時刻をフォーマットできます。例えば、 国際化API, あなたが使用して日付をフォーマットすることができます toLocaleDateString
例えばJavaScriptでは, myDate.toLocaleDateString( 'ko-KR')
韓国語を話す先住民が韓国で使用している形式でフォーマットされた日付を返します.
夏時間(DST)
特定の国では、夏時間を夏時間に1時間進めることで、余分な太陽光を利用できるようにします。あなたのサービスの現地時間に追いつくためにDSTに注意してください.
2桁の年なし
ローカライズのために日付と時刻をカスタマイズしている間は、どの時点でも年に2桁のフォーマットを使用しないでください。私たちはすでに21世紀にいます。好きな年を使う 64
, 99年
今後など面倒になるでしょう。 2桁の年システムがすでに整っている場合は、それを変更することを検討してください。.
うるう年とその他のカレンダー
この記事の最後に、日付を扱う際に覚えておくべきその他のさまざまなことを説明します。あなたが日付にライブラリやAPIを使用しておらず、あなた自身でそれらに対処したい場合(これは ではない それにもかかわらずお勧めします、うるう年の入力で2月29日を表示することを忘れないでください.
また、それは注目に値する グレゴリオ暦が唯一の利用可能な形式ではありません。 世界中で。地元の人々が従う地方のカレンダーはほとんどありません。特に、祭りに関してはそうです。.
参考文献
- 国際電気通信連合:ITU-Rにおける協定世界時(UTC)研究の状況
- ISO:ISO 8601 - 日付と時刻の形式
- ウィキペディア:協定世界時
- ウィキペディア:夏時間
- ウィキペディア:グリニッジ標準時
- W3Cノート:日付と時刻のフォーマット
- W3Cのヒント:国際日付形式(ISO)を使う