我一直在寻找一个体面的jQuery插件,可以处理日期和时间。核心UI DatePicker是伟大的,但不幸的是,我需要能够花时间在以及。

我发现了一些让DatePicker处理时间的小技巧,但它们看起来都很不优雅,谷歌也没有任何好的结果。

有一个很好的jQuery插件选择日期和时间在一个单一的UI控件与可用的界面?


当前回答

@David,谢谢你的推荐!@fluid_chelsea,我刚刚发布了Any+Time(TM)第三版。它使用jQuery而不是Prototype,并且有一个很大的改进的界面,所以我希望它现在能满足你的需求:

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

任何问题,请通过我网站上的评论链接让我知道!

其他回答

@David,谢谢你的推荐!@fluid_chelsea,我刚刚发布了Any+Time(TM)第三版。它使用jQuery而不是Prototype,并且有一个很大的改进的界面,所以我希望它现在能满足你的需求:

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

任何问题,请通过我网站上的评论链接让我知道!

我做了一个这样的函数:

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 datepicker像这样:

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

因此,我得到的值如下:2010-10-31 12:41:57

这是一些代码,我用来让用户选择一个 Datetimepicker,设置datetime,并拥有 其他datetimepicker添加一分钟到该时间。

我需要这个自定义药物控制....

总之,我觉得既然我能帮到别人 在网上找不到答案…

(至少不是一个完整的答案)

请记住,60000的增加,增加了一分钟。 (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()));
        }
    });

在我看来,日期和时间应该作为两个单独的输入框处理,以便用户输入时最可用和最有效。让用户一次只输入一件东西是一个很好的原则。

我使用核心UI DatePicker和下面的时间选择器。

这一个是受到谷歌日历使用的启发:

jQuery timePicker: 示例:http://labs.perifer.se/timedatepicker/ 项目在github: https://github.com/perifer/timePicker

我发现它是所有选择中最好的。用户可以快速输入,它看起来干净,简单,并允许用户输入具体的时间,精确到分钟。

PS: 在我看来:滑块(一些替代时间选择器使用的滑块)需要太多的点击,并且需要用户的鼠标精度(这会使输入速度变慢)。

我最近研究了这个,还没有找到一个体面的日期选择器,也包括一个体面的时间选择器。我最终使用的是eyeecon的DatePicker,它有两个简单的时间下拉菜单。我很想使用Timepickr.js,看起来是一个很好的方法。