2013-08-01 150 views
17

我想在this datetimepicker中将当前日期的默认时间设置为00:01。任何人都曾尝试过?有一段艰难的时间。它看起来很简单。我需要使用setDate,但我不知道如何。我检查了他们的代码,但没有找到一个参数。在bootstrap-datetimepicker中设置默认时间

+0

为什么你不告诉我们你有什么问题。发布一些代码。 –

+0

查看我的[setDate/setLocalDate](http://tarruda.github.io/bootstrap-datetimepicker/#api)更新后的答案。 – Sara

回答

17

根据this GitHub issue设置默认输入值。

HTML

<input type="text" id="datetimepicker-input"></input> 

jQuery的

var d = new Date(); 

var month = d.getMonth()+1; 
var day = d.getDate(); 

var output = d.getFullYear() + '/' + 
(month<10 ? '0' : '') + month + '/' + 
(day<10 ? '0' : '') + day; 

$("#datetimepicker-input").val(output + " 00:01:00"); 

jsFiddle
JavaScript date source

EDIT - setLocalDate /的setDate

var d = new Date(); 
var month = d.getMonth(); 
var day = d.getDate(); 
var year = d.getFullYear(); 

$('#startdatetime-from').datetimepicker({ 
    language: 'en', 
    format: 'yyyy-MM-dd hh:mm' 
}); 
$("#startdatetime-from").data('DateTimePicker').setLocalDate(new Date(year, month, day, 00, 01)); 

jsFiddle

+0

对我来说.setDate()工作,而不是setLocalDate()。不管怎么说,还是要谢谢你! –

+1

代码中有一些拼写错误。正确的代码实际上是:'jQuery('#startDate')。data('DateTimePicker')。setDate(new Date(2015,1,1,00,01));' –

+0

你的github链接现在似乎被破坏了。 – Bach

4

使用这种初始化上述

$('.form_datetime').datetimepicker('update', new Date()); 
22

无后为我工作,但我有成功的实例的时间设置为默认值。

JQuery的

<script type="text/javascript"> 
    $(function() { 
     var dateNow = new Date(); 
     $('#datetimepicker').datetimepicker({ 
      defaultDate:dateNow 
     }); 
    }); 
</script> 
+0

[文档](https://eonasdan.github.io/bootstrap-datetimepicker/Options/#defaultdate) – johanvs

4

我试图设置默认的时间挑选器和它的工作:2015年3月1日12:00:

$('#date2').datetimepicker({ 
format: 'DD-MM-YYYY 12:00:00' 
}); 

这将在数据库中保存: 00

用于smalldatetime键入sql server

+3

这也禁用小时和分钟选择。您将无法更改小时或分钟。 – Firze

5

它为我:

<script type="text/javascript"> 
     $(function() { 
      var dateNow = new Date(); 
      $('#calendario').datetimepicker({ 
       locale: 'es', 
       format: 'DD/MM/YYYY', 
       defaultDate:moment(dateNow).hours(0).minutes(0).seconds(0).milliseconds(0)      
      }); 
     });    
    </script> 
+0

我确认为我制作技巧,谢谢! – Peacefull

+0

尝试了许多解决方案,但只有这一个工程。谢谢 –

+0

这应该是完美的答案 –

1

这是我对你的问题的解决方案:

$('#startdatetime-from').datetimepicker({ 
language: 'en', 
format: 'yyyy-MM-dd hh:mm' 
}).on('dp.change', function (e) { 
     var specifiedDate = new Date(e.date); 
     if (specifiedDate.getMinutes() == 0) 
     { 
      specifiedDate.setMinutes(1); 
      $(this).data('DateTimePicker').date(specifiedDate); 
     } 
    }); 

这也为设置默认小时或两个工作。 请注意,此代码示例也适用于useCurrent: false参数。

当用户选择日期时,我们检查分钟是否为0(硬编码默认值)。在这种情况下,我们设置为1.然后,用户不能选择0.

0

这对我来说很长时间的搜索后,此解决方案是为Bootstrap datetimepicker版本4.当您必须设置默认日期在输入字段。

HTML

"input type='text' class="form-control" id='datetimepicker5' placeholder="Select to date" value='<?php echo $myDate?>'// $myDate is having value '2016-02-23' " 

注意 - 如果你是在PHP编码,那么你可以设置输入的DateField使用PHP的值,但是,当你申请的DateTimePicker()函数,它的DateTimePicker设置回当前日期。因此,为了防止它,使用给定的JS代码

JAVASCRIPT

<script> 
$('#datetimepicker5').datetimepicker({ 
      useCurrent: false //this is important as the functions sets the default date value to the current value 
      ,format: 'YYYY-MM-DD' 
     }); 
</script> 
10

对于使用日期时间从输入值,只需设置选项useCurrent为false,并在值设定日期

$('#datetimepicker1').datetimepicker({ 
 
    useCurrent: false, 
 
    format: 'DD.MM.YYYY H:mm' 
 
});

+1

谢谢。我将'useCurrent'设置为'false',然后'defaultDate'工作。 – shrekuu

+0

请注意,datetimepicker接受的格式字符串与C#datetime格式字符串不同。例如,要在.Net MVC中设置输入值,请使用'''(注意”dd“和”yyyy“的不同外壳) –

+0

使用CurrentCurrent救了我......无法解决如何阻止它 - 谢谢! –

2

我解决我的问题是这样

$('#startdatetime-from').datetimepicker({ 
language: 'en', 
format: 'yyyy-MM-dd hh:mm', 
defaultDate:new Date() 
}); 
0

Momentjs.com有关于如何处理与当前时刻相关的日期/时间的良好文档。由于Datetimepicker需要Momentjs,所以不妨使用它。

var startDefault = moment().startof('day').add(1, 'minutes'); 
$('#startdatetime-from').datetimepicker({ 
    defaultDate: startDefault, 
    language: 'en', 
    format: 'yyyy-MM-dd hh:mm' 
});