Отключить время в средстве выбора даты и времени начальной загрузки


101

Я использую средство выбора даты и времени начальной загрузки в своем веб-приложении, созданное на PHP / HTML5 и JavaScript. В настоящее время я использую один отсюда: http://tarruda.github.io/bootstrap-datetimepicker/

Когда я использую элемент управления без времени, он не работает. Он просто показывает пустое текстовое поле.

Я просто хочу удалить время из средства выбора даты и времени. Есть ли решение для этого?

<div class="well">
    <div id="datetimepicker4" class="input-append"> 
        <input data-format="yyyy-MM-dd" type="text"></input> 
        <span class="add-on"> 
            <i data-time-icon="icon-time" data-date-icon="icon-calendar"> </i> 
        </span> 
    </div> 
</div> 
<script type="text/javascript"> 
    $(function() { 
        $('#datetimepicker4').datetimepicker({ pickTime: false }); 
    }); 
</script>

4
Пожалуйста, покажите код, который вы используете, мы не все физики
Стив

1
Добавьте рассматриваемый код с помощью Edit ...
Правин Кумар Пурушотаман

2
@Steve, мы не все экстрасенсы, только некоторые из нас xD
Тимо Хуовинен

Для меня это minView:'month'сработало, я не хотел, чтобы выбор времени отображался. Я получил помощь из их репозитория на github. github.com/smalot/bootstrap-datetimepicker/issues/…
Sizzling Code

Ответы:


134

Проверьте приведенный ниже фрагмент

<div class="container">
<div class="row">
    <div class='col-sm-6'>
        <div class="form-group">
            <div class='input-group date' id='datetimepicker4'>
                <input type='text' class="form-control" />
                <span class="input-group-addon"><span class="glyphicon glyphicon-time"></span>
                </span>
            </div>
        </div>
    </div>
    <script type="text/javascript">
        $(function() {              
           // Bootstrap DateTimePicker v4
           $('#datetimepicker4').datetimepicker({
                 format: 'DD/MM/YYYY'
           });
        });      
    </script>
</div>

Вы можете обратиться к http://eonasdan.github.io/bootstrap-datetimepicker/ за подробной документацией и другими функциями. Это должно работать.

Обновление для поддержки i18n

Используйте локализованные форматы moment.js:

  • L только на дату
  • LT только на время
  • L LT на дату и время

См. Другие локализованные форматы в документации moment.js ( https://momentjs.com/docs/#/displaying/format/ )


Опция pickDate, которую вы цитируете, не задокументирована в документации, на которую вы ссылаетесь.
Джереми Бертон

2
Ответ на вопрос неверен. Вопрос был в том, как отключить время, а не дату. Кроме того, этот код, вероятно, по-прежнему не будет работать, поскольку он прикрепляет указатель даты к родительскому элементу div(возможно, библиотека обрабатывает это и ищет <input>-sub-elements)
Питер Илфрих

12
pickDate и pickTime были удалены в текущей версии Eonasdan's Bootstrap Datetimepicker. Вместо этого используйте формат.
gl03

3
Это неправильно, установка формата нарушает интернационализацию
Кикин-Сама

41

Я попробовал все решения, размещенные здесь, но ни одно из них не помогло мне. Мне удалось отключить время, используя эту строку кода в моем jQuery:

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

Это установило формат только для даты и полностью отключило время. Надеюсь это поможет.


5
Из всех решений на этой странице это единственное, которое сработало для меня. Использование v4.7.14 библиотеки bootstrap-datetimepicker.
Джош Бучи

2
Чтобы избежать путаницы, поскольку, похоже, есть несколько средств выбора даты и времени с одинаковыми названиями, я отмечу
Paul Calabro

Спасибо, у меня это сработало, однако в моей форме все еще отображается значок для переключения на средство выбора времени, и он позволяет переключаться, а затем показывает 00:00. Это не меняет то, что отправлено с формой, но есть ли способ удалить значок часов, чтобы пользователь не мог получить доступ к части формы выбора времени? Еще раз спасибо!
jackerman09,

Вы должны использовать другую версию DateTimePicker, потому что значок времени у меня исчез.
Celt

26

Это для: Eonasdan's Bootstrap Datetimepicker

Прежде всего, я бы предоставил idатрибут для, <input>а затем инициализировал datetimepicker непосредственно для этого <input>(а не для родительского контейнера):

<div class="container">
  <input data-format="yyyy-MM-dd" type="text" id="datetimepicker"/>
</div>
<script type="text/javascript">
  $(function() {
    // Bootstrap DateTimePicker v3
    $('#datetimepicker').datetimepicker({
      pickTime: false
    });
    // Bootstrap DateTimePicker v4
    $('#datetimepicker').datetimepicker({
      format: 'DD/MM/YYYY'
    });
  });
</script>

Для v3: вопреки ответу Ck Maurya :

  • pickDate: false отключит дату и позволит выбрать только время
  • pickTime: false отключит время и позволит выбрать только дату (это то, что вы хотите).

Для v4: Bootstrap Datetimepicker теперь использует формат, чтобы определить, присутствует ли компонент времени. Если компонент времени отсутствует, он не позволит вам выбрать время (и скрыть значок часов).


Почему это было отклонено? Это единственный ответ, который правильно объясняет, что опция плагина изменилась в последней версии. Если бы это был главный ответ, я бы избавился от нескольких минут замешательства.
gl03

1
Как ни странно, это
должно быть ЗАГЛАВНЫМИ буквами,

Да, именно так формат даты указывается в Javascript (в отличие от способа определения формата даты / времени в Java). Мне потребовалось некоторое время, чтобы понять это.
Питер Илфрих

Спасибо, у меня это сработало, однако в моей форме все еще отображается значок для переключения на средство выбора времени, и он позволяет переключаться, а затем показывает 00:00. Это не меняет то, что отправлено с формой, но есть ли способ удалить значок часов, чтобы пользователь не мог получить доступ к части формы выбора времени? Еще раз спасибо!
jackerman09,

jackerman09, помните, какую версию datetimepicker вы используете. Описанное поведение применимо к Eonasdan datetimepicker v3, v4. Если вы используете последнюю версию (а вам следует это сделать), то при отсутствии компонента времени в формате значок часов автоматически удаляется. И, пожалуйста, не
размещайте

20

Я потратил некоторое время, пытаясь понять это из-за обновления с DateTimePicker. Вы должны ввести формат, основанный на документации moment.js . Вы можете использовать то, что показали другие ответы:

$('#datetimepicker').datetimepicker({ format: 'DD/MM/YYYY' });

Или вы можете использовать некоторые из локализованных форматов, которые предоставляет moment.js, чтобы указать только дату, например:

$('#datetimepicker').datetimepicker({locale: 'fr', format: 'L' });

Используя это, вы можете отображать только время ( LT) или дату ( L) в зависимости от языкового стандарта . В документации для datetimepicker мне было непонятно, что он автоматически адаптируется к предоставленному вводу (дата или только время) через moment.jsформат. Надеюсь, это поможет тем, кто еще ищет.


4
Это лучший ответ, потому что он включает формат, зависящий от локали, а не "жесткое кодирование" формата.
Nahn

17
$('#datetimepicker').datetimepicker({ 
    minView: 2, 
    pickTime: false, 
    language: 'pt-BR' 
});

Пожалуйста, попробуйте, работает ли это и для вас


Работает как шарм :) Большое спасибо. Могу я спросить, что такое настройка minView? Без этой настройки отображается время.
FrenkyB 02

Я не знаю, но у меня также есть эта проблема и ее решение для этого кода.
ImBhavin95

Ваша точка зрения была правильной, подробнее об этом здесь: github.com/smalot/bootstrap-datetimepicker/issues/416 .
FrenkyB

Отлично! Чтобы не нарушать языковой стандарт, используйте:$('#datetimepicker').datetimepicker({ minView: 2, pickTime: false, language: 'pt-BR' });
Aline Matos

6

Инициализируйте свой datetimepicker следующим образом

На время отключения

$(document).ready(function(){
    $('#dp3').datetimepicker({
      pickTime: false
    });
});

Для даты отключения

$(document).ready(function(){
    $('#dp3').datetimepicker({
      pickDate: false
    });
});

Чтобы отключить дату и время

$(document).ready(function(){
   $("#dp3").datetimepicker('disable'); 
});

пожалуйста, обратитесь к следующей документации, если у вас есть сомнения

http://eonasdan.github.io/bootstrap-datetimepicker/#options


6
<div class="container">
  <input type="text" id="datetimepicker"/>
</div>

<script type="text/javascript">
  $(function() {
    // trigger datepicker
    $('#datetimepicker').datetimepicker({
       pickTime: false,
        minView: 2,
        format: 'dd/mm/yyyy',
        autoclose: true,
    });
  });
</script>

5

Это показывает только дату:

$('#myDateTimePicker').datetimepicker({
        format: 'dd.mm.yyyy',
        minView: 2,
        maxView: 4,
        autoclose: true
      });

Подробнее по теме здесь


2
    $(function () {
        $('#datetimepicker9').datetimepicker({
            viewMode: 'years',
            format: 'DD/MM/YYYY' /*Add this line to remove time format*/
        });
    });

1

Критерий выбора теперь является атрибутом тега DIV.

примеры ...

data-date-format="dd MM yyyy" 
data-date-format="dd MM yyyy - HH:ii p
data-date-format="hh:ii"

поэтому пример начальной загрузки для дд мм гггг: -

<div class="input-group date form_date col-md-5" data-date="" 
    data-date-format="dd MM yyyy" data-link-field="dtp_input2" data-link-format="yyyy-mm-dd">
..... etc ....
</div>

мои настройки Javascript следующие: -

            var picker_settings = {
                language:  'en',
                weekStart: 1,
                todayBtn:  1,
                autoclose: 1,
                todayHighlight: 1,
                startView: 2,
                minView: 2,
                forceParse: 0
            };

        $(datePickerId).datetimepicker(picker_settings);

Вы можете увидеть их рабочие примеры, если загрузите файл bootstrap-datetimepicker-master. Есть образцы папок, каждая из которых имеет index.html.


1

Для версии bootstrap 4 этот код работает;

$('#payment-date-time-select').datetimepicker({
    startView:2,
    minView:2,
});

0

Отключить время в сборщике даты и времени ускорения ...

   $(document).ready(function () {
        $('.timepicker').datetimepicker({
            format: "dd-mm-yy",
        });
    });

Отключить дату в сборщике даты и времени ускорения ...

   $(document).ready(function () {
        $('.timepicker').datetimepicker({
            format: "HH:mm A",
        });
    });

0
your same code work's fine, just add some link reference

<!DOCTYPE HTML>
<html>
    <head>
        <link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.2/css/bootstrap-combined.min.css" rel="stylesheet">
        <link rel="stylesheet" type="text/css" media="screen"
              href="http://tarruda.github.com/bootstrap-datetimepicker/assets/css/bootstrap-datetimepicker.min.css">


    </head>
    <body>
        <div class="well">
            <div id="datetimepicker4" class="input-append"> 
                <input data-format="yyyy-MM-dd" type="text"></input> 
                <span class="add-on"> 
                    <i data-time-icon="icon-time" data-date-icon="icon-calendar"> </i> 
                </span> 
            </div> 
        </div> 

        <script type="text/javascript"
                src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.min.js">
        </script> 
        <script type="text/javascript"
                src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.2.2/js/bootstrap.min.js">
        </script>
        <script type="text/javascript"
                src="http://tarruda.github.com/bootstrap-datetimepicker/assets/js/bootstrap-datetimepicker.min.js">
        </script>
        <script type="text/javascript"
                src="http://tarruda.github.com/bootstrap-datetimepicker/assets/js/bootstrap-datetimepicker.pt-BR.js">
        </script>
        <script type="text/javascript">
            $(function () {
                $('#datetimepicker4').datetimepicker({pickTime: false});
            });
        </script>

    </body>
    </html>


0

Это позволяет отображать время в поле ввода, но скрывает кнопку выбора времени, которая является вторым элементом li в аккордеоне.

.bootstrap-datetimepicker-widget .list-unstyled li:nth-child(2){
    display: none;
}

-1

Я знаю, что это поздно, но ответ состоит в том, чтобы просто убрать слово «время» и datetimepickerзаменить его на datepicker. Вы можете отформатировать его с помощью dateFormat.

      jQuery( "#datetimepicker4" ).datepicker({
        dateFormat: "MM dd, yy",
      });

Я не уверен, почему ты написал мой комментарий, Дмитрий, потому что он фактически отвечает на вопрос автора. Тот факт, что существуют различные форматы даты, не имеет отношения к вопросу и показан здесь только в качестве примера.
Dawn Green

-1

Вот решение для вас. Очень просто добавить такой код:

    $('#datetimepicker4').datetimepicker({ 

    pickTime: false 

    minview:2;(Please see here.)

    }); 

-3
 $("#datetimepicker4").datepicker({
    dateFormat: 'mm/dd/yy',
    changeMonth: true,
    changeYear: true,
    showOtherMonths: true,
    selectOtherMonths: true,
    pickTime: false,
    format: 'YYYY-MM-DD'
});

-3

Не как откладывать время и язык по очереди Я это ставлю и не работает

$(function () {
    $('#datetimepicker2').datetimepicker({
              locale: 'es',
              pickTime: false
          });
});

2
получить представление из вашего ответа будет сложно.
Anptk 05
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.