ion-datetime
Datetimeはカレンダーとタイムホイールのインターフェイスを表示し、ユーザーが簡単に日付と時刻を選択できるようにします。Datetimeはネイティブの datetime-local
の input
要素と似ていますが、Ionic FrameworkのDatetimeコンポーネントを使用すると、好みのフォーマットで日付と時刻を表示し たり、datetimeの値を管理することが簡単にできます。
概要
これまで、JavaScriptやHTMLの入力でdatetimeの値を扱うことは、常に困難でした。
入力でさえも、常に課題でした。
特に、JavaScriptの Date
オブジェクトは、datetime文字列を正しく解析したり、datetime値をフォーマットしたりするのが難しいことで有名です。
さらに悪いことに、ブラウザやJavaScriptのバージョンによって、
特にロケールごとに様々なdatetime文字列の解析が異なるのです。
Ionic Frameworkのdatetimeは、開発者が一般的な落とし穴を回避できるように設計されており、 開発者は簡単にdatetime値を操作し、ユーザーにシンプルなdatetimeピッカーを提供し、素晴らしいユーザーエクスペリエンスを提供することができます。
ISO 8601 Datetime Format: YYYY-MM-DDTHH:mmZ
Ionic Frameworkでは、ISO 8601 datetime format を値として使用します。
この値は、JavaScriptの Date
オブジェクトを使用するのではなく、単純に文字列として使用されます。
ISO datetimeフォーマットを使用することで、
JSONオブジェクトやデータベース内でのシリアライズやパースが容易になります。
以下は、 ion-datetime
で使用できる ISO 8601 フォーマットの例です:
Description | Format | Datetime Value Example |
---|---|---|
Year | YYYY | 1994 |
Year and Month | YYYY-MM | 1994-12 |
Complete Date | YYYY-MM-DD | 1994-12-15 |
Date and Time | YYYY-MM-DDTHH:mm | 1994-12-15T13:47 |
UTC Timezone | YYYY-MM-DDTHH:mm:ssZ | 1994-12-15T13:47:20Z |
Timezone Offset | YYYY-MM-DDTHH:mm:ssTZD | 1994-12-15T13:47:20+05:00 |
Hour and Minute | HH:mm | 13:47 |
年号は常に4桁、ミリ秒は(加算される場合は)常に3桁、その他は常に2桁であることに注意してください。
ミリ秒は3桁、その他は2桁である。
ですから、1月を表す数字には 1月を表す数字には常に先頭のゼロ、例えば01
が付きます。
また、時刻は常に24時間表示で、
12時間表示の時計では「00」は「午前12時」、「13」は「午後1時」、「23」は「午後3時」を意味します。
秒、ミリ秒、タイムゾーンは ISO 8601 datetime フォーマットで指定できますが、 ion-datetime
は秒、ミリ秒、タイムゾーンを選択するためのインターフェイスを提供しません。秒、ミリ秒、タイムゾーンの値を指定しても無視されます。
基本的な使い方
日付ボタンと使う
モーダルやポップオーバーなどのオーバーレイで日付時刻を表示する必要がある場合は、 ion-datetime-button を使用することをお勧めします。スペースに制約がある場合は、 ion-datetime-button
を使用する必要があります。このコンポーネントは、現在の日付と時刻の値を表示するボタンを表示します。ボタンがタップされると、日付と時刻のピッカーがオーバーレイで表示されます。
非同期に値を設定する
すでにdatetimeが作成された後にプログラムでvalue
が更新されると、datetimeは自動的に新しい日付にジャンプします。しかし、ユーザーがdatetimeを操作しているときに、この方法でvalue
を更新することは避けることをお勧めします。例えば、datetimeのvalue
が非同期処理で読み込まれる場合、値の更新が終わるまでCSSでdatetimeを非表示にすることをお勧めします。