2012-07-09 40 views
5

私は「から〜まで」の時間選択を作成し、そのために2つのTimePickerコンポーネントを作成する必要があります。その背後にあるデータベースがすでに年以来存在しており、24時間形式を使用しているので、私のコードでは、私はTimePickerでは「24:00」は許可されていませんか?

tpOpenFrom.setIs24HourView(true); 
tpOpenTo.setIs24HourView(true); 

を設定しています私の問題は、今それはそうと、「24:00」を選択することができないということです"23"(:00)の後の "to:"値として、コンポーネントは "00"(:00)に切り替わり、ユーザーが実際の選択を忘れたかどうかを知ることができなくなります。 「from」時間として「09:00」が入力され、「to」時間として「00:00」が入力されている。または、「00:00」から「00:00」の選択が行われた場合:ユーザは何かを入力するのを忘れているか、または「24時間開かれた」と定義しようとしていますか?

24時間モードでは、TimePickerは実際に24:00を入力する必要があります。 ISO 8601の24時間制は、真夜中を「00:00」と「24:00」と呼ばれる特別なケースとして定義しているため、TimePickerでは時間を24時間に設定して自動的に分に00.

誰もがどのようにTimePickerを活用することを達成するアイデアはありますか?

+0

類似の問題に直面しています。地球上のすべてのTimePickerは、ISO8601 5.3.2の「深夜」の曖昧さを無視しているようだ。あなたが言うように、00:00と24:00は両方とも、ISOごとのTime-Onlyデータ表現の有効な値です。 – Tim

答えて

2

私はブートストラップのタイムピッカーで同じ問題を抱えていましたが、実装するのは難しくありません。私はJoris de Wit(http://jdewit.github.io/bootstrap-timepicker/)のタイムピッカーを使用しています。

"24"を検索し、すべての発生を "25"に置き換え、bootstrap-timepicker.jsで "23"を検索し、 "24"に置き換えます。

24:01、..、24:59のような時間を許可したい場合は、完了です。 24:00を受け入れるだけで24分を受け取らない場合は、getTime関数がある行133に進みます。

既存のリターンの前に次のコードを入れてください(ただし、それを削除しないでください):00までXX時間:XX

if (this.hour == 24 && this.minute != 0) { 
    this.setTime('00:' + this.minute); 
    return '00:' + this.minute; 
} 

これは、任意の24を変換します。

関連する問題