Disabilita l'ora nel selettore data e ora del bootstrap


101

Sto usando il selettore data e ora bootstrap nella mia applicazione web, realizzato in PHP / HTML5 e JavaScript. Attualmente ne sto usando uno da qui: http://tarruda.github.io/bootstrap-datetimepicker/

Quando uso il controllo senza tempo, non funziona. Mostra solo una casella di testo vuota.

Voglio solo rimuovere l'ora dal selettore di data e ora. C'è qualche soluzione per questo?

<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
Per favore mostra il codice che stai usando, non siamo tutti fisici
Steve

1
Aggiungi il codice in questione utilizzando Modifica ...
Praveen Kumar Purushothaman

2
@Steve non siamo tutti sensitivi, solo alcuni di noi sono xD
Timo Huovinen

Per me ha minView:'month'funzionato, non volevo che la selezione del tempo venisse visualizzata. Ho ricevuto l'aiuto dal loro repository GitHub. github.com/smalot/bootstrap-datetimepicker/issues/…
Sizzling Code

Risposte:


134

Controlla lo snippet di seguito

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

Puoi fare riferimento a http://eonasdan.github.io/bootstrap-datetimepicker/ per la documentazione e altre funzioni in dettaglio. Questo dovrebbe funzionare.

Aggiornamento per supportare i18n

Usa formati localizzati di moment.js:

  • L solo per la data
  • LT solo per tempo
  • L LT per data e ora

Vedi altri formati localizzati nella documentazione moment.js ( https://momentjs.com/docs/#/displaying/format/ )


L'opzione pickDate che citi non è documentata nella documentazione a cui ti colleghi.
Jeremy Burton

2
La risposta è sbagliata riguardo alla domanda. La domanda era come disabilitare l'ora, non la data. Inoltre, quel codice probabilmente non funzionerà ancora, poiché collega il datepicker al genitore div(forse la libreria lo gestisce e cerca <input>-sub-elementi)
Peter Ilfrich

12
pickDate e pickTime sono stati rimossi nella versione corrente del Bootstrap Datetimepicker di Eonasdan. Usa invece il formato.
gl03

3
Questo è sbagliato, l'impostazione del formato rompe l'internazionalizzazione
Kikin-Sama

41

Ho provato tutte le soluzioni pubblicate qui ma nessuna ha funzionato per me. Sono riuscito a disabilitare l'ora utilizzando questa riga di codice nel mio jQuery:

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

Questo imposta il formato solo per la data e disabilita completamente l'ora. Spero che questo ti aiuti.


5
Di tutte le soluzioni in questa pagina, questa è l'unica che ha funzionato per me. Utilizzando la v4.7.14 di bootstrap-datetimepicker lib.
Josh Buchea

2
Solo per evitare confusione poiché sembra che ci siano alcuni selettori di data e ora con nomi
Paul Calabro

Grazie, questo ha funzionato per me, tuttavia, il mio modulo mostra ancora l'icona per passare al selettore dell'ora e ti consente di cambiare, quindi mostra 00:00. Non cambia ciò che viene inviato con il modulo, ma esiste un modo per rimuovere l'icona dell'orologio in modo che l'utente non possa accedere alla parte del modulo di selezione dell'ora? Grazie ancora!
jackerman09

Devi utilizzare una versione diversa di DateTimePicker perché l'icona dell'ora è scomparsa sulla mia.
Celt

26

Questo è per: Bootstrap Datetimepicker di Eonasdan

Prima di tutto fornirei un idattributo per <input>e quindi inizializzerei direttamente il datetimepicker per quello <input>(e non per il contenitore genitore):

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

Per v3: contrariamente alla risposta di Ck Maurya :

  • pickDate: false disabiliterà la data e consentirà solo di scegliere l'ora
  • pickTime: false disabiliterà l'ora e consentirà solo di scegliere una data (che è quella che desideri).

Per v4: Bootstrap Datetimepicker ora utilizza il formato per determinare se è presente un componente temporale. Se non è presente alcun componente temporale, non ti consentirà di scegliere un orario (e nascondere l'icona dell'orologio).


Perché è stato bocciato? Questa è l'unica risposta che spiega correttamente che le opzioni del plugin sono cambiate nell'ultima versione. Mi avrebbe risparmiato qualche minuto di confusione se questa fosse la risposta migliore.
gl03

1
Deve essere la data
MAIUSCOLA

Sì, questo è solo il modo in cui il formato della data viene specificato in Javascript (contrariamente al modo in cui il formato data / ora è definito in Java). Mi ci è voluto del tempo per capire anche questo.
Peter Ilfrich

Grazie, questo ha funzionato per me, tuttavia, il mio modulo mostra ancora l'icona per passare al selettore dell'ora e ti consente di cambiare, quindi mostra 00:00. Non cambia ciò che viene inviato con il modulo, ma esiste un modo per rimuovere l'icona dell'orologio in modo che l'utente non possa accedere alla parte del modulo di selezione dell'ora? Grazie ancora!
jackerman09

jackerman09, tieni presente la versione del datetimepicker che utilizzi. Il comportamento descritto si applica al datetimepicker di Eonasdan v3, v4. Se stai usando l'ultima (cosa che dovresti fare), la mancanza di un componente orario nel formato rimuoverà automaticamente l'icona dell'orologio. E per favore non pubblicare lo stesso commento a più risposte ... suggerisce una mancanza di motivazione ...
Peter Ilfrich

20

Ho passato un po 'di tempo a cercare di capirlo a causa dell'aggiornamento con DateTimePicker. Dovresti entrare in un formato basato sulla documentazione di moment.js . Puoi usare quello che hanno mostrato altre risposte:

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

Oppure puoi utilizzare alcuni dei formati localizzati forniti da moment.js per fare solo una data, come ad esempio:

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

Usando questo, puoi visualizzare solo un'ora ( LT) o una data ( L) in base alle impostazioni locali . La documentazione per datetimepicker non mi era chiaro che si adatta automaticamente all'input fornito (data o solo ora) tramite il moment.jsformato. Spero che questo aiuti per coloro che stanno ancora cercando.


4
Questa è la risposta migliore, perché include il formato dipendente dalla locale, invece di "codificare" il formato.
Nahn

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

Per favore prova se funziona anche per te


Funziona come un incantesimo :) Grazie mille. Posso chiedere qual è l'impostazione minView? Senza questa impostazione, viene visualizzata l'ora.
FrenkyB

non lo so ma ho anche questo problema e si risolve per questo codice.
ImBhavin95

Il tuo punto era giusto, più di questo qui: github.com/smalot/bootstrap-datetimepicker/issues/416 .
FrenkyB

Perfetto! Per non rovinare la localizzazione, usa:$('#datetimepicker').datetimepicker({ minView: 2, pickTime: false, language: 'pt-BR' });
Aline Matos

6

Inizializza il tuo datetimepicker in questo modo

Per disabilitare il tempo

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

Per disabilitare la data

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

Per disabilitare sia la data che l'ora

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

si prega di fare riferimento alla seguente documentazione in caso di dubbi

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

Questo mostra solo la data:

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

Maggiori informazioni sull'argomento qui


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

1

Il criterio del selettore è ora un attributo del tag DIV.

esempi sono ...

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

quindi l'esempio di bootstrap per gg mm aaaa è: -

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

le mie impostazioni Javascript sono le seguenti: -

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

        $(datePickerId).datetimepicker(picker_settings);

Puoi vedere esempi di lavoro di questi se scarichi il file bootstrap-datetimepicker-master. Sono disponibili cartelle di esempio ciascuna con index.html.


1

Per la versione bootstrap 4 questo codice funziona;

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

0

Disabilita il tempo nel selettore data / ora boostrap ...

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

Disabilita la data nel selettore data / ora boostrap ...

   $(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
<script type="text/javascript">
        $(function () {
                  $('#datepicker').datetimepicker({
                     format: 'YYYY/MM/DD'
               });
            });
</script>

0

Ciò consente di mostrare l'ora nel campo di input ma nasconde il pulsante di selezione dell'ora, che è il secondo elemento li nella fisarmonica

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

-1

So che è tardi, ma la risposta è semplicemente rimuovere "tempo" dalla parola, datetimepickerper cambiarlo in datepicker. Puoi formattarlo con dateFormat.

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

Non sono sicuro del motivo per cui hai modificato il mio commento, Dmitry, perché in effetti risponde alla domanda del poster. Il fatto che ci siano vari dateFormats non è rilevante per la domanda ed è mostrato qui solo come esempio.
Dawn Green

-1

Ecco la soluzione per te. È molto facile aggiungere solo codice come questo:

    $('#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

Non rimandare il tempo e la lingua in un momento in cui metto questo e non lavoro

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

2
ottenere un'idea dalla tua risposta sarà difficile.
Anptk
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.