【问题标题】:Set date in bootstrap datetimepicker input在引导程序 datetimepicker 输入中设置日期
【发布时间】:2015-06-17 12:39:44
【问题描述】:

我使用的日期时间选择器来自:http://eonasdan.github.io/bootstrap-datetimepicker/Installing/

没有提供如何使用函数(日期、显示、隐藏等),所以我不知道如何使用 datetimepicker 使用 date 函数设置输入值:

日期([新日期])

获取字符串、日期、时刻、空参数并设置组件 为它建模当前时刻。

我试过了

$('#datetimepicker2').datetimepicker(
    date: function() { return new Date(1434544649384); }
);

1434544649384 是一个时间戳。

但它不起作用并且不会更新输入文本/值...

JsFiddle:http://jsfiddle.net/0Ltv25o8/1397/

【问题讨论】:

    标签: jquery twitter-bootstrap


    【解决方案1】:

    引用http://eonasdan.github.io/bootstrap-datetimepicker/Functions/

    Note All functions are accessed via the data attribute e.g. $('#datetimepicker').data("DateTimePicker").FUNCTION()
    

    所以你可以像下面这样更新日期:

    $('#datetimepicker2').data("DateTimePicker").date(new Date());
    

    【讨论】:

    • 使用 eosnadan bootstrap 3 日期选择器对我来说值得
    【解决方案2】:

    正确的语法是:

    $('#datetimepicker2').datetimepicker({
        date: new Date(1434544882775)
    });
    

    【讨论】:

    • 这没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
    • 它完全回答了这个问题。作者想让他的代码工作,因为他想不出正确的语法。我用正确的语法回答。
    • 我为评论道歉。它是通过审查自动生成的。它没有向我展示问题,仅从答案来看,它看起来像是一个交叉问题。好吧,有几天所以评论失败了。
    • 此答案仅在您尚未初始化 datetimepicker 时才有效。
    • 我要去所有 Matrix 并声称没有问题......至少在技术上
    【解决方案3】:

    不得不补充,我已经解决了。

    $('#datetimepicker1').datetimepicker({});
    $('#datetimepicker1').data("DateTimePicker").date(moment(new Date ).format('DD/MM/YYYY HH:mm'));
    

    【讨论】:

    • 如果大写单词不起作用,请使用“datetimepicker”。所有的简单字母都适合我!
    【解决方案4】:

    你想设置一个默认的日期值:

    var d = $('#datetimepicker1').datetimepicker({
        "defaultDate":new Date()
    });
    

    http://jsfiddle.net/0Ltv25o8/1399/

    【讨论】:

      【解决方案5】:

      对我来说,虽然我设法更改了日期,但它也错误地更改了格式。当我单独应用格式时,它按预期工作:

      var d = $('#datetimepicker1').({ date: moment(), format: $scope.userDateFormatMoment });
      

      【讨论】:

        【解决方案6】:

        如果您希望设置 datetimepicker 的日期,请使用 defaultDate 选项。来自文档:

        defaultDate:设置选择器默认日期/时间。默认值:假。接受:日期、时刻、字符串。

        您的选项如下所示:

        $('#datetimepicker2').datetimepicker({
            defaultDate: new Date(1434544649384)
        });
        

        http://jsfiddle.net/0Ltv25o8/1400/

        【讨论】:

          【解决方案7】:

          使用 defaultDate 选项设置日期。

          $('#datetimepicker2').datetimepicker({
              defaultDate:  new Date(1434544649384) 
          });
          

          【讨论】:

          • Uncaught TypeError: Cannot read properties of undefined (reading 'setValue')
          【解决方案8】:

          这里的答案都不适用于所有情况。我在这里结合了几个答案来得到一个:

          var $ele = $("#datetimepicker2");
          var date = new Date(1434544649384);
          var datePickerObject = $ele.data("DateTimePicker");
          
          if (typeof datePickerObject !== "undefined") {
            // it's already been Initialize . Just update the date.
            datePickerObject.date(date);
          }
          else {
            // it hasn't been initialized yet. Initialize it with the date.
            $ele.datetimepicker({
              date: date
            });
          }
          

          【讨论】:

            【解决方案9】:

            xfdai 的回答对我有用,除非你得到 ​​p>

            $('#datetimepicker2').data("DateTimePicker")
            = undefined
            

            然后尝试$('#datetimepicker2').data("datetimepicker")(小写数据参数)。

            【讨论】:

              【解决方案10】:

              这对我有用:

              var dateString = '2200-12-31';
              var dateParts = dateString.split('-');
              var date = new Date(dateParts[0], dateParts[1] - 1, dateParts[2]);
              $('#leaseEnd').data('datetimepicker').setDate(date);
              $('#leaseEnd').data('datetimepicker').update();
              

              注意事项:

              我不得不使用小写术语“datetimepicker” - 感谢 Nathan Wilson

              我必须把字符串变成一个日期对象

              我不得不使用 update() 函数来获取日历以显示新选择的日期

              不要忘记,如果您包含小时数,javascript 可能会因为时区差异而修改您的更新。在这种情况下,请在您的日期字符串中包含时区。

              【讨论】:

                【解决方案11】:
                //date is my input datatimepicker class
                $('.date').bootstrapMaterialDatePicker({
                        format: 'DD/MM/YYYY',
                        weekStart: 1,
                        time: false,
                        cancelText: 'Cancelar',
                        okText: 'Elegir',
                        nowText: 'Ahora',
                        lang: 'es'
                });
                //then just use this
                $('#idOfYourInput').val("30/11/2021");
                

                【讨论】:

                • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
                猜你喜欢
                • 1970-01-01
                • 2016-11-04
                • 2018-05-03
                • 2017-07-29
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多