Wyłącz czas w selektorze daty i godziny ładowania początkowego

101

Używam selektora daty i czasu ładowania początkowego w mojej aplikacji internetowej, wykonanej w PHP / HTML5 i JavaScript. Obecnie używam jednego stąd: http://tarruda.github.io/bootstrap-datetimepicker/

Kiedy używam kontrolki bez czasu, to nie działa. Po prostu pokazuje puste pole tekstowe.

Chcę tylko usunąć godzinę z selektora dat. Czy jest na to jakieś rozwiązanie?

<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>
Chirag Sudra
źródło
4
Proszę pokazać kod, którego używasz, nie wszyscy jesteśmy fizykami
Steve
1
Dodaj kod, o którym mowa, za pomocą polecenia Edytuj ...
Praveen Kumar Purushothaman
2
@Steve Nie wszyscy jesteśmy medium, tylko niektórzy z nas są xD
Timo Huovinen
U mnie to minView:'month'zadziałało, nie chciałem, aby pokazał się wybór czasu. Otrzymałem pomoc z ich repozytorium github. github.com/smalot/bootstrap-datetimepicker/issues/ ...
Sizzling Code

Odpowiedzi:

134

Sprawdź poniższy fragment

<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>

Możesz odnieść się do http://eonasdan.github.io/bootstrap-datetimepicker/, aby uzyskać szczegółowe informacje na temat dokumentacji i innych funkcji. To powinno działać.

Zaktualizuj, aby obsługiwać i18n

Użyj zlokalizowanych formatów moment.js:

  • L tylko na randkę
  • LT tylko na czas
  • L LT daty i godziny

Zobacz inne zlokalizowane formaty w dokumentacji moment.js ( https://momentjs.com/docs/#/displaying/format/ )

Ck Maurya
źródło
Cytowana opcja pickDate nie jest udokumentowana w dokumentacji, do której prowadzi łącze.
Jeremy Burton,
2
Odpowiedź jest nieprawidłowa w odniesieniu do pytania. Pytanie brzmiało, jak wyłączyć czas, a nie datę. Poza tym ten kod prawdopodobnie nadal nie będzie działał, ponieważ dołącza datepicker do rodzica div(być może biblioteka obsługuje to i wyszukuje <input>-sub-elementy)
Peter Ilfrich
12
pickDate i pickTime zostały usunięte z aktualnej wersji narzędzia Bootstrap Datetimepicker firmy Eonasdan. Zamiast tego użyj formatu.
gl03
3
To jest złe, ustawienie formatu przerywa internacjonalizację
Kikin-Sama
41

Wypróbowałem wszystkie zamieszczone tutaj rozwiązania, ale żadne z nich nie zadziałało. Udało mi się wyłączyć czas, używając tej linii kodu w moim jQuery:

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

Spowoduje to ustawienie tylko formatu daty i całkowite wyłączenie czasu. Mam nadzieję że to pomoże.

Celt
źródło
5
Ze wszystkich rozwiązań na tej stronie, jest to jedyne, które zadziałało dla mnie. Korzystanie z wersji 4.7.14 pliku bootstrap-datetimepicker lib.
Josh Buchea
2
Aby uniknąć nieporozumień, ponieważ wydaje się, że istnieje kilka podobnie nazwanych selektorów datetime, zaznaczę
Paul Calabro
Dzięki, to zadziałało dla mnie, jednak mój formularz nadal pokazuje ikonę przełączania do selektora czasu i umożliwia przełączenie, a następnie pokazuje 00:00. Nie zmienia to, co jest przesyłane w formularzu, ale czy istnieje sposób na usunięcie ikony zegara, aby użytkownik nie miał dostępu do części formularza z selektorem czasu? Dzięki jeszcze raz!
jackerman 09
Musisz używać innej wersji DateTimePicker, ponieważ ikona czasu zniknęła w moim.
Celt
26

To jest dla: Eonasdan's Bootstrap Datetimepicker

Przede wszystkim podałbym idatrybut dla, <input>a następnie zainicjowałbym datetimepicker bezpośrednio dla tego <input>(a nie dla kontenera nadrzędnego):

<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>

Dla wersji 3: w przeciwieństwie do odpowiedzi Ck Mauryi :

  • pickDate: false wyłączy datę i pozwoli tylko na wybranie czasu
  • pickTime: false wyłączy czas i pozwoli tylko na wybranie daty (co chcesz).

W przypadku wersji 4: Bootstrap Datetimepicker używa teraz formatu do określenia, czy występuje składnik czasu. Jeśli nie ma składnika czasu, nie pozwoli ci wybrać czasu (i ukryje ikonę zegara).

Peter Ilfrich
źródło
Dlaczego głosowanie odrzucono? To jedyna odpowiedź, która poprawnie wyjaśnia, że ​​opcja wtyczki zmieniła się w najnowszej wersji. Oszczędziłoby mi to kilku minut zamieszania, gdyby była to najlepsza odpowiedź.
gl03
1
To musi być data
CAPITALS
Tak, to jest sposób, w jaki format daty jest określony w JavaScript (w przeciwieństwie do sposobu, w jaki format daty / czasu jest zdefiniowany w Javie). Zrozumienie tego również zajęło mi trochę czasu.
Peter Ilfrich
Dzięki, to zadziałało dla mnie, jednak mój formularz nadal pokazuje ikonę przełączania do selektora czasu i umożliwia przełączenie, a następnie pokazuje 00:00. Nie zmienia to, co jest przesyłane w formularzu, ale czy istnieje sposób na usunięcie ikony zegara, aby użytkownik nie miał dostępu do części formularza z selektorem czasu? Dzięki jeszcze raz!
jackerman 09
jackerman09, pamiętaj o używanej wersji narzędzia datetimepicker. Opisane zachowanie dotyczy datetimepicker firmy Eonasdan v3, v4. Jeśli używasz najnowszego (co powinieneś), brak składnika czasu w formacie automatycznie usunie ikonę zegara. I proszę, nie publikuj tego samego komentarza przy wielu odpowiedziach ... Sugeruje to brak motywacji ...
Peter Ilfrich
20

Spędziłem trochę czasu, próbując to rozgryźć z powodu aktualizacji z DateTimePicker. Wpisałbyś w formacie opartym na dokumentacji moment.js . Możesz użyć innych odpowiedzi:

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

Możesz też użyć niektórych zlokalizowanych formatów udostępnianych przez moment.js, aby zrobić tylko datę, na przykład:

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

Używając tego, możesz wyświetlić tylko godzinę ( LT) lub datę ( L) na podstawie ustawień regionalnych . Dokumentacja dla datetimepicker nie była dla mnie jasna, że ​​automatycznie dostosowuje się do dostarczonych danych wejściowych (data lub tylko godzina) poprzez moment.jsformat. Mam nadzieję, że to pomoże tym, którzy wciąż szukają.

ishmael62
źródło
4
Jest to najlepsza odpowiedź, ponieważ zawiera format zależny od ustawień regionalnych, zamiast „zakodować” format.
Nahn
17
$('#datetimepicker').datetimepicker({ 
    minView: 2, 
    pickTime: false, 
    language: 'pt-BR' 
});

Spróbuj, jeśli to również działa dla Ciebie

ImBhavin95
źródło
Działa jak urok :) Wielkie dzięki. Czy mogę zapytać, co to jest ustawienie minView? Bez tego ustawienia wyświetlany jest czas.
FrenkyB
nie wiem, ale mam też ten problem i jego rozwiązanie dla tego kodu.
ImBhavin95
Twój punkt był słuszny, więcej tutaj: github.com/smalot/bootstrap-datetimepicker/issues/416 .
FrenkyB
Idealny! Aby nie zepsuć lokalnego, użyj:$('#datetimepicker').datetimepicker({ minView: 2, pickTime: false, language: 'pt-BR' });
Aline Matos
6

Zainicjuj swój datetimepicker w ten sposób

Na czas wyłączenia

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

Data wyłączenia

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

Aby wyłączyć zarówno datę, jak i godzinę

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

w razie wątpliwości zapoznaj się z poniższą dokumentacją

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

muni
źródło
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>
wolver
źródło
5

Pokazuje tylko datę:

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

Więcej na ten temat tutaj

FrenkyB
źródło
2
    $(function () {
        $('#datetimepicker9').datetimepicker({
            viewMode: 'years',
            format: 'DD/MM/YYYY' /*Add this line to remove time format*/
        });
    });
Paweł
źródło
1

Kryteria selektora są teraz atrybutem znacznika DIV.

przykłady to ...

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

więc przykład bootstrap dla dd mm rrrr to: -

<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>

moje ustawienia Javascript są następujące: -

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

        $(datePickerId).datetimepicker(picker_settings);

Możesz zobaczyć ich działające przykłady, jeśli pobierzesz plik bootstrap-datetimepicker-master. Istnieją przykładowe foldery, z których każdy ma plik index.html.

Ato Thejay
źródło
1

Dla wersji bootstrap 4 ten kod działa;

$('#payment-date-time-select').datetimepicker({
    startView:2,
    minView:2,
});
Ethem
źródło
0

Wyłącz czas w selektorze datetime Boostrap ...

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

Wyłącz datę w selektorze datetime Boostrap ...

   $(document).ready(function () {
        $('.timepicker').datetimepicker({
            format: "HH:mm A",
        });
    });
Mugundhan A
źródło
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>
Hrushi
źródło
0
<script type="text/javascript">
        $(function () {
                  $('#datepicker').datetimepicker({
                     format: 'YYYY/MM/DD'
               });
            });
</script>
Viral M
źródło
0

Pozwala to na pokazanie czasu w polu wprowadzania, ale ukrywa przycisk wyboru czasu, który jest drugim elementem li w akordeonie

.bootstrap-datetimepicker-widget .list-unstyled li:nth-child(2){
    display: none;
}
Maxim Radevich
źródło
-1

Wiem, że jest późno, ale odpowiedzią jest po prostu usunięcie „czasu” ze słowa, datetimepickeraby je zmienić datepicker. Możesz go sformatować za pomocą dateFormat.

      jQuery( "#datetimepicker4" ).datepicker({
        dateFormat: "MM dd, yy",
      });
Dawn Green
źródło
Nie jestem pewien, dlaczego nazwałeś mój komentarz, Dmitrij, ponieważ w rzeczywistości odpowiada on na pytanie autora. Fakt, że istnieją różne formaty daty, nie ma znaczenia dla pytania i został tutaj przedstawiony jedynie jako przykład.
Dawn Green
-1

Oto rozwiązanie dla Ciebie. Bardzo łatwo jest po prostu dodać taki kod:

    $('#datetimepicker4').datetimepicker({ 

    pickTime: false 

    minview:2;(Please see here.)

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

źródło
-3

Nie odkładam czasu i języka na raz, kładę to i nie pracuję

$(function () {
    $('#datetimepicker2').datetimepicker({
              locale: 'es',
              pickTime: false
          });
});
Manu Terrón
źródło
2
uzyskanie pomysłu na podstawie Twojej odpowiedzi będzie trudne.
Anptk