Ответ 1
var date = new Date();
date.setDate(date.getDate()-1);
$('#date').datepicker({
startDate: date
});
Я хотел отключить всю прошлую дату до текущей даты, а не с текущей датой. Я пытаюсь загрузить bootprap datepicker library bootstrap-datepicker" и используя следующий код:
$('#date').datepicker({
startDate: new Date()
});
Он отлично работает. Но это отключает дату до сегодняшнего дня.
В качестве примера, если сегодня 04-20-2013, и я отключить прошлые даты, установив startDate: new Date(). но я могу выбрать дату с 04-21-2013.
ОБНОВЛЕНО: я могу решить его как следующее для зоны UTC:
var d = new Date();
options["startDate"] = new Date(d.setDate(d.getDate() - 1));
или startDate: "+0d"
Но эти методы не работают, когда UTC на следующий день. Для моего клиента в Калифорнии это означает, что в 17:00 мой клиент больше не может выбирать свою локальную текущую дату как действительную дату. Чтобы исправить это, я временно использую startDate: "-1d"
, но, конечно, до 5, что означает, что вчера видно.
Кто-нибудь придумал лучший метод на данный момент, так как я не хочу, чтобы пользователи указывали дату UTC?
Спасибо заранее.
var date = new Date();
date.setDate(date.getDate()-1);
$('#date').datepicker({
startDate: date
});
HTML
<input type="text" name="my_date" value="4/26/2015" class="datepicker">
JS
jQuery(function() {
var datepicker = $('input.datepicker');
if (datepicker.length > 0) {
datepicker.datepicker({
format: "mm/dd/yyyy",
startDate: new Date()
});
}
});
Это будет означать дату по умолчанию как 4/26/2015 (26 апреля 2015 г.) в календаре при открытии и отключите все даты до текущей даты.
Используйте minDate
var date = new Date();
var today = new Date(date.getFullYear(), date.getMonth(), date.getDate());
$('#date').datepicker({
minDate: today
});
использовать
startDate: '-0d'
Как
$("#datepicker").datepicker({
startDate: '-0d',
changeMonth: true
});
Вы можете использовать атрибут data:
<div class="datepicker" data-date-start-date="+1d"></div>
var nowDate = new Date();
var today = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate(), 0, 0, 0, 0);
$('#date').datetimepicker({
startDate: today
});
<script type="text/javascript">
$('.datepicker').datepicker({
format: 'dd/mm/yyyy',
todayHighlight:'TRUE',
startDate: '-0d',
autoclose: true,
})
Здесь
<script>
$(function () {
var date = new Date();
date.setDate(date.getDate() - 7);
$('#datetimepicker1').datetimepicker({
maxDate: 'now',
showTodayButton: true,
showClear: true,
minDate: date
});
});
</script>
Отключить всю прошлую дату
<script type="text/javascript">
$(function () {
/*--FOR DATE----*/
var date = new Date();
var today = new Date(date.getFullYear(), date.getMonth(), date.getDate());
//Date1
$('#ctl00_ContentPlaceHolder1_txtTranDate').datepicker({
format: 'dd-mm-yyyy',
todayHighlight:'TRUE',
startDate: today,
endDate:0,
autoclose: true
});
});
</script>
Отключить всю будущую дату
var date = new Date();
var today = new Date(date.getFullYear(), date.getMonth(), date.getDate());
//Date1
$('#ctl00_ContentPlaceHolder1_txtTranDate').datepicker({
format: 'dd-mm-yyyy',
todayHighlight:'TRUE',
minDate: today,
autoclose: true
});
Попробуйте:
$(function () {
$('#datetimepicker').datetimepicker({ minDate:new Date()});
});
Обратитесь к скрипту http://jsfiddle.net/Ritwika/gsvh83ry/
**With three fields having date greater than the **
<input type="text" type="text" class="form-control datepickstart" />
<input type="text" type="text" class="form-control datepickend" />
<input type="text" type="text" class="form-control datepickthird" />
var date = new Date();
date.setDate(date.getDate()-1);
$('.datepickstart').datepicker({
autoclose: true,
todayHighlight: true,
format: 'dd/mm/yyyy',
startDate: date
});
$('.datepickstart').datepicker().on('changeDate', function() {
var temp = $(this).datepicker('getDate');
var d = new Date(temp);
d.setDate(d.getDate() + 1);
$('.datepickend').datepicker({
autoclose: true,
format: 'dd/mm/yyyy',
startDate: d
}).on('changeDate', function() {
var temp1 = $(this).datepicker('getDate');
var d1 = new Date(temp1);
d1.setDate(d1.getDate() + 1);
$('.datepickthird').datepicker({
autoclose: true,
format: 'dd/mm/yyyy',
startDate: d1
});
});
});
Чтобы отключить прошлые даты и выделить сегодняшнюю дату:
$(function () {
$('.input-daterange').datepicker({
startDate : new Date(),
todayHighlight : true
});
});
Чтобы отключить будущие даты и выделить сегодняшнюю дату:
$(function () {
$('.input-daterange').datepicker({
endDate : new Date(),
todayHighlight : true
});
});
Для получения дополнительной информации проверьте это https://bootstrap-datepicker.readthedocs.io/en/latest/options.html?highlight=startdate#quick-reference
В HTML
<input class="required form-control" id="d_start_date" name="d_start_date" type="text" value="">
В сторону Js
<script type="text/javascript">
$(document).ready(function () {
var dateToday = new Date();
dateToday.setDate(dateToday.getDate());
$('#d_start_date').datepicker({
autoclose: true,
startDate: dateToday
})
});
Вы можете просто добавить атрибут данных в тег ввода html:
В рельсах HTML:
<%= form.text_field :appointment_date, 'data-provide': 'datepicker', 'data-date-start-date': "+0d" %>
HTML:
<input data-provide="datepicker" data-date-start-date="+0d" type="text" name="appointment_date" id="appointment_date">
чтобы отключить прошлую дату, просто используйте:
$('.input-group.date').datepicker({
format: 'dd/mm/yyyy',
startDate: 'today'
});
Это зависит от того, какой формат вы используете для выбора даты. Итак, сначала мы дали ему формат.
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
if(dd<10){
dd='0'+dd;
}
if(mm<10){
mm='0'+mm;
}
var today = yyyy+'-'+mm+'-'+dd; //Here you put the format you want
Затем передайте указатель даты (зависит от версии, которую вы используете, это может быть startDate или minDate, что в моем случае)
//Datetimepicker
$(function () {
$('#datetimepicker1').datetimepicker({
minDate: today, //pass today date
daysOfWeekDisabled: [0],
locale: 'es',
inline: true,
format: 'YYYY-MM-DD HH:mm', //format of my datetime (to save on mysqlphpadmin)
sideBySide: true
});
});
Вы можете найти свое решение по этой ссылке ниже: https://codepen.io/ahmetcadirci25/pen/NpMNzJ
Это работает для меня.
Мой код:
var date = new Date();
date.setDate(date.getDate());
$('#datetimepicker1').datetimepicker({
isRTL: false,
format: 'dd.mm.yyyy hh:ii',
autoclose: true,
language: 'tr',
startDate: date
});
Решение намного проще:
$('#date').datepicker({
startDate: "now()"
});
Попробуйте онлайн демо и заполните ввод Дата начала: сейчас()
Следующие работали для меня
$('.input-group.date').datepicker({
format: 'dd/mm/yyyy',
startDate: new Date()
});