jQuery日付/時刻ピッカー[終了]


245

日付と時刻の両方を処理できる適切なjQueryプラグインを探していました。コアUI DatePickerはすばらしいですが、残念ながら私も時間をかけることができる必要があります。

DatePickerが時間とともに機能するためのハッキングをいくつか見つけましたが、それらはすべて非常に洗練されていないようで、Googleは何もうまくいきません。

使用可能なインターフェイスを持つ単一のUIコントロールで日付と時刻を選択するための優れたjQueryプラグインはありますか?


私の例は少しわかりやすく、ユーザーフレンドリーであると確信しています。両方の長所と短所があります。
マイケルストーン、

回答:


251

断然素晴らしくて最も単純なDateTimeピッカーオプションはhttp://trentrichardson.com/examples/timepicker/です。

これはjQuery UI Datepickerの拡張なので、同じテーマをサポートし、同様に機能します。同様の構文などです。これはjQuery UI imoと一緒にパッケージ化する必要があります。


3
私はこれを使っていて、大好きです。
Sonny

3
私はこれが好きですが、それでも非常にバグが多いです。
Alastair Pitts、2010

11
「とてもバギー」?ほとんどありません。私はそれを製品コードで使用しており、しばらくの間使用しています。また、積極的に開発されています。
Sonny

7
@Sonny:プロダクションで使用するかどうかは、バグがあるかどうかには関係ありません。おそらくAlastairのように、バグを公開するようなことをしていないため、そのバグを見たことがないかもしれません。一方、彼は彼の主張の証拠を提供しなかったので、私はそれをあまり真剣に受け止める傾向はありません...
iconoclast

18
このプラグインの最大の問題はUIです。時間を入力するために、なぜスライダー(水平スライダー)を使用したいのですか?それは私にとって非常にぎこちない感じです。スライダーで何度も経験したことがあり、希望する数値に到達できず(何度か少し上に、次に少し下に繰り返して)、結局それを入力してしまいました。キーボードは通常、正確な数値を入力する最も簡単な方法です。視覚的な入力方法が必要な場合は、時計は通常の時間であり、スライダーではありません。実装は難しいですが、実際には便利かもしれません(キーボード入力も可能な限り)。
iconoclast

46

@David、推薦ありがとうございます!@fluid_chelsea、私はAny + Time(TM)バージョン3.xをリリースしました。これは、Prototypeの代わりにjQueryを使用し、大幅に改善されたインターフェースを備えているので、今あなたのニーズを満たしていることを願っています。

http://www.ama3.com/anytime/

問題があれば、ウェブサイトのコメントリンクからお知らせください。


6
Any + Time(TM)バージョン4.xが利用可能になりました!新しいリリースでは、TIME ZONES(他のピッカーでTHATが見つかります!)だけでなく、jQueryセレクター/チェーニング、簡単な削除(メモリリークを回避!)、およびその他の多くの改善がサポートされています。ぜひ乗ってください。問題や提案がある場合は、私のウェブサイトのコメントページからお知らせください。
アンドリューM.アンドリュースIII

4
Any + Timeはかなり滑らかに見えます。私はそれが好きです。
ザックピーターソン

Railsアプリに数分でAnyTimeを実装したところです。完璧に動作します。
グウィンモーフェイ2010

私は、JSFアプリのピッカーとしてAnyTimeピッカーを選びました。素敵な製品をありがとう、良い仕事を続けてください!
arg

Any + Timeは、すべてのAny + Time入力に対してUIの新しい非表示のdivを追加します(非表示のdiv UIを再利用するjQUery UIの日付ピッカーとは異なります)。これにより、不適切に設計されたMSIE6でパフォーマンスが大幅に低下します。したがって、MSIE6をサポートする必要がある場合は、Any + Timeを使用しないでください。
エドゥアルド

14

私の見解では、日付と時刻は、ユーザーにとって最も使いやすく効率的なものにするために、2つの別個の入力ボックスとして処理する必要があります。ユーザーが一度に1つずつ入力できるようにするのが良い原則です。

コアUIのDatePickerと次の時間ピッカーを使用しています。

これは、Googleカレンダーが使用するものに触発されています。

jQuery timePicker
例: github上のhttp://labs.perifer.se/timedatepicker/
プロジェクト:https : //github.com/perifer/timePicker

私はそれがすべての選択肢の中で最高であることがわかりました。ユーザーは高速で入力でき、見た目がきれいで、シンプルで、特定の時間まで分単位で入力できます。

PS:私の見解では、スライダー(一部の代替時間ピッカーで使用)はクリック数が多すぎ、ユーザーからのマウスの精度が必要です(入力が遅くなります)。


コアUI DatePicker:jqueryui.com/demos/datepicker
Magne

これにより、そのフィールドに対するC#MVCのモデルバインディングのメリットが
失わ

13

日付ピッカーでの私の最高の経験は、プロトタイプベースのAnyTime使用することです。私はそれがjQueryではないことを知っていますが、それでもあなたにとって妥協する価値があるかもしれません。私はプロトタイプをまったく知りません。それでも、作業するのは簡単です。

私が見つけた警告の1つ:一部のブラウザーでは前方互換性がありません。つまり、Chromeの新しいバージョンのプロトタイプでは動作しませんでした。


1
プロトタイプを使用できたとしても問題ありません。残念ながら、このアプリではjQueryを使用しています。
チェルシー

7
ただの更新-AnyTime 3がjQueryで動作するようになりました。
Jaxidian、

私は何ヶ月もこれについて考えていませんでした。しかし、私の個人的なプロジェクトでは更新が必要で、jqueryを投入する準備ができていました。Any + Timeのすべての機能が必要なわけではないので、私は日付ピッカーを使用しているときに日付ピッカーを置き換えると思い、すべてのjQueryを使用した方がよいと考えました。そしてバム!私はこれに遭遇しました。素晴らしいタイミング。
David Berger

年のセレクター(<または>をクリックする)は私にとって扱いづらいですが。
コーダー

7

ここに情報を追加するためだけに、The Fluid Projectには、多数の日付および/または時刻ピッカーの概要を説明したすばらしいwiki記事があります



3

同じ問題に遭遇しました。私は実際に使用してサーバー側のプログラミングを開発しましたが、簡単に検索してあなたを助け、これを見つけました。

大丈夫そうですが、ソースをあまり見ていませんでしたが、純粋にJavaScriptのようです。

見て取ります:

http://www.rainforestnet.com/datetimepicker/datetimepicker.htm

ここにデモページのリンクがあります:

http://www.rainforestnet.com/datetimepicker/datetimepicker-demo.htm

幸運を


私はこれを数年間使用しています。歯が少し長くなりますが、うまくいきます。
コーダー、

1

これは、ユーザーが1つのdatetimepickerを選択し、datetimeを設定し、他のdatetimepickerにその時間に1分を追加させるために使用するコードです。

私はこれをカスタムの投薬管理のために必要としました...

とにかく、オンラインで答えを見つけることができなかったので、他の人の役に立つかもしれないと思いました...

(少なくとも完全な答えではありません)

60000を追加すると、1分が追加されることに注意してください。(60 * 1000ミリ秒)

$('.frdtPicker').datetimepicker({
        onClose: function(dateText, inst) {
            var endDateTextBox = $('.todtPicker');
            if (endDateTextBox.val() != '') {
                var testStartDate = new Date(dateText);
                var testEndDate = new Date(endDateTextBox.val());
                if (testStartDate > testEndDate) {

                    var testStartDate = new Date(dateText).getTime() + 60000;
                    var testStartDate2 = new Date(testStartDate); 

                    endDateTextBox.datetimepicker('setDate', (new Date(testStartDate2)));
                }
            }
            else {
                var testStartDate = new Date(dateText).getTime() + 60000;
                var testStartDate2 = new Date(testStartDate);
                endDateTextBox.datetimepicker('setDate', (new Date(testStartDate2)));
            }
            $('.frdtPicker').val(dateText); //endDateTextBox.val());

        },
        onSelect: function(selectedDateTime) {
            var start = $(this).datetimepicker('getDate');
            $('.todtPicker').datetimepicker('option', 'minDate', new Date(start.getTime()));
        }
    });


1

jQueryではありませんが、時間のあるカレンダー(JavaScript Date Time Picker)でうまく機能します

クリックイベントをバインドしてポップアップします。

$(".arrival-date").click(function() {
    NewCssCal($(this).attr('id'), 'mmddyyyy', 'dropdown', true, 12);
});

1
リンクを更新しました-彼らはそれを移動しました。
bigspotteddog

私はそれを数年間使用していますが、呼び出し方は異なります(したがって、コードから認識できません)。私はjqueryのDatePickerに移行してきました。熱帯雨林の1つが少し長く見えているからです。
コーダー、

0

私はこのような1つの関数を作成します。

function getTime()
{
    var date_obj = new Date();
    var date_obj_hours = date_obj.getHours();
    var date_obj_mins = date_obj.getMinutes();
    var date_obj_second = date_obj.getSeconds();

    var date_obj_time = "'"+date_obj_hours+":"+date_obj_mins+":"+date_obj_second+"'";
    return date_obj_time;
}

次に、jQuery UIの日付ピッカーを次のように使用します。

$("#selector").datepicker( "option", "dateFormat", "yy-mm-dd "+getTime()+"" );

だから、私はこのような値を取得します:2010-10-31 12:41:57


時間を決定する必要がある場合があります(getTime関数を使用しない)
bungdito

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.