Deaktivieren Sie die Uhrzeit in der Bootstrap-Datums- und Uhrzeitauswahl

101

Ich verwende die Bootstrap-Datums- und Uhrzeitauswahl in meiner Webanwendung, die in PHP / HTML5 und JavaScript erstellt wurde. Ich verwende derzeit eine von hier: http://tarruda.github.io/bootstrap-datetimepicker/

Wenn ich das Steuerelement ohne Zeit benutze, funktioniert es nicht. Es wird nur ein leeres Textfeld angezeigt.

Ich möchte nur die Uhrzeit aus der Datums- und Uhrzeitauswahl entfernen. Gibt es dafür eine Lösung?

<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
quelle
4
Bitte zeigen Sie den Code, den Sie verwenden, wir sind nicht alle physisch
Steve
1
Fügen Sie den fraglichen Code mit Bearbeiten hinzu ...
Praveen Kumar Purushothaman
2
@Steve wir sind nicht alle psychisch, nur einige von uns sind xD
Timo Huovinen
Für mich hat das minView:'month'funktioniert, ich wollte nicht, dass die Zeitauswahl angezeigt wird. Ich habe die Hilfe von ihrem Github-Repository bekommen. github.com/smalot/bootstrap-datetimepicker/issues/…
Sizzling Code

Antworten:

134

Überprüfen Sie das folgende Snippet

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

Dokumentation und andere Funktionen finden Sie unter http://eonasdan.github.io/bootstrap-datetimepicker/ . Das sollte funktionieren.

Update zur Unterstützung von i18n

Verwenden Sie lokalisierte Formate von moment.js:

  • L nur für Datum
  • LT nur für die Zeit
  • L LT für Datum und Uhrzeit

Weitere lokalisierte Formate finden Sie in der Dokumentation zu moment.js ( https://momentjs.com/docs/#/displaying/format/ ).

Ck Maurya
quelle
Die von Ihnen angegebene Option pickDate ist in der Dokumentation, auf die Sie verweisen, nicht dokumentiert.
Jeremy Burton
2
Die Antwort ist in Bezug auf die Frage falsch. Die Frage war, wie die Uhrzeit deaktiviert werden kann, nicht das Datum. Außerdem wird dieser Code wahrscheinlich immer noch nicht funktionieren, da er den Datepicker an das übergeordnete Element anfügt div(möglicherweise übernimmt die Bibliothek dies und sucht nach <input>Unterelementen)
Peter Ilfrich
12
pickDate und pickTime wurden in der aktuellen Version von Eonasdans Bootstrap Datetimepicker entfernt. Verwenden Sie stattdessen das Format.
gl03
3
Dies ist falsch, das Einstellen des Formats bricht die Internationalisierung
Kikin-Sama
41

Ich habe alle hier veröffentlichten Lösungen ausprobiert, aber keine davon hat für mich funktioniert. Ich konnte die Zeit mithilfe dieser Codezeile in meiner jQuery deaktivieren:

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

Dadurch wurde das Format nur auf Datum gesetzt und die Uhrzeit vollständig deaktiviert. Hoffe das hilft.

Kelte
quelle
5
Von allen Lösungen auf dieser Seite ist dies die einzige, die für mich funktioniert hat. Verwenden von v4.7.14 von bootstrap-datetimepicker lib.
Josh Buchea
2
Um Verwirrung zu vermeiden, da es einige ähnlich benannte Datetime-Picker zu geben scheint, möchte ich darauf hinweisen, dass dies für mich für dieses spezielle Plugin funktioniert hat: eonasdan.github.io/bootstrap-datetimepicker
Paul Calabro
Vielen Dank, dies hat bei mir funktioniert. In meinem Formular wird jedoch weiterhin das Symbol zum Wechseln zur Zeitauswahl angezeigt. Sie können dann wechseln und dann 00:00 anzeigen. Es ändert nichts daran, was mit dem Formular gesendet wird. Gibt es jedoch eine Möglichkeit, das Uhrensymbol zu entfernen, damit der Benutzer nicht auf den Zeitauswahlteil des Formulars zugreifen kann? Danke noch einmal!
Jackerman09
Sie müssen eine andere Version des DateTimePicker verwenden, da das Zeitsymbol bei mir verschwunden ist.
Celt
26

Dies ist für: Eonasdans Bootstrap Datetimepicker

Zuerst würde ich ein idAttribut für das bereitstellen <input>und dann den datetimepicker direkt dafür initialisieren <input>(und nicht für den übergeordneten Container):

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

Für v3: Im Gegensatz zu Ck Mauryas Antwort:

  • pickDate: false deaktiviert das Datum und erlaubt nur die Auswahl einer Uhrzeit
  • pickTime: false deaktiviert die Uhrzeit und erlaubt nur die Auswahl eines Datums (das ist, was Sie wollen).

Für v4: Bootstrap Datetimepicker verwendet jetzt das Format, um festzustellen, ob eine Zeitkomponente vorhanden ist. Wenn keine Zeitkomponente vorhanden ist, können Sie keine Zeit auswählen (und das Uhrensymbol ausblenden).

Peter Ilfrich
quelle
Warum wurde dies abgelehnt? Dies ist die einzige Antwort, die richtig erklärt, dass sich die Option des Plugins in der neuesten Version geändert hat. Hätte mir ein paar Minuten Verwirrung erspart, wenn dies die beste Antwort gewesen wäre.
gl03
1
Es muss das Datum von CAPITALS sein, damit es funktioniert, seltsamerweise
Sidonaldson
Ja, so wird das Datumsformat in Javascript angegeben (im Gegensatz zur Definition des Datums- / Uhrzeitformats in Java). Ich habe einige Zeit gebraucht, um das herauszufinden.
Peter Ilfrich
Vielen Dank, dies hat bei mir funktioniert. In meinem Formular wird jedoch weiterhin das Symbol zum Wechseln zur Zeitauswahl angezeigt. Sie können dann wechseln und dann 00:00 anzeigen. Es ändert nichts daran, was mit dem Formular gesendet wird. Gibt es jedoch eine Möglichkeit, das Uhrensymbol zu entfernen, damit der Benutzer nicht auf den Zeitauswahlteil des Formulars zugreifen kann? Danke noch einmal!
Jackerman09
jackerman09, bitte beachten Sie die von Ihnen verwendete Version von datetimepicker. Das beschriebene Verhalten gilt für Eonasdans datetimepicker v3, v4. Wenn Sie die neueste verwenden (was Sie sollten), wird das Uhrensymbol automatisch entfernt, wenn Sie keine Zeitkomponente im Format haben. Und bitte posten Sie nicht den gleichen Kommentar zu mehreren Antworten ... Es deutet auf einen Mangel an Motivation hin ...
Peter Ilfrich
20

Ich habe einige Zeit damit verbracht, dies aufgrund des Updates mit herauszufinden DateTimePicker. Sie würden in einem Format eingeben, das auf der Dokumentation von moment.j basiert . Sie können verwenden, was andere Antworten zeigten:

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

Oder Sie können einige der lokalisierten Formate verwenden, die moment.js bereitstellt, um nur ein Datum festzulegen, z.

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

Auf diese Weise können Sie nur eine Uhrzeit ( LT) oder ein Datum ( L) basierend auf dem Gebietsschema anzeigen . Die Dokumentation für datetimepicker war mir nicht klar, dass sie sich automatisch über das moment.jsFormat an die Eingabe (Datum oder nur Uhrzeit) anpasst . Hoffe das hilft für diejenigen, die noch suchen.

ishmael62
quelle
4
Dies ist die beste Antwort, da sie das vom Gebietsschema abhängige Format enthält, anstatt das Format "fest zu codieren".
Nahn
17
$('#datetimepicker').datetimepicker({ 
    minView: 2, 
    pickTime: false, 
    language: 'pt-BR' 
});

Bitte versuchen Sie, ob es auch für Sie funktioniert

ImBhavin95
quelle
Funktioniert wie ein Zauber :) Vielen Dank. Darf ich fragen, was die minView-Einstellung ist? Ohne diese Einstellung wird die Zeit angezeigt.
FrenkyB
Ich weiß es nicht, aber ich habe auch dieses Problem und es ist für diesen Code gelöst.
ImBhavin95
Ihr Punkt war richtig, mehr davon hier: github.com/smalot/bootstrap-datetimepicker/issues/416 .
FrenkyB
Perfekt! Um das Gebietsschema nicht zu beschädigen, verwenden Sie:$('#datetimepicker').datetimepicker({ minView: 2, pickTime: false, language: 'pt-BR' });
Aline Matos
6

Initialisieren Sie Ihren datetimepicker wie folgt

Zum Deaktivieren der Zeit

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

Zum Deaktivieren des Datums

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

Datum und Uhrzeit deaktivieren

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

Im Zweifelsfall lesen Sie bitte die folgende Dokumentation

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

Muni
quelle
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
quelle
5

Dies zeigt nur Datum:

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

Mehr zum Thema hier

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

Das Auswahlkriterium ist jetzt ein Attribut des DIV-Tags.

Beispiele sind ...

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

Das Bootstrap-Beispiel für TT MM JJJJ lautet also: -

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

Meine Javascript-Einstellungen lauten wie folgt: -

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

        $(datePickerId).datetimepicker(picker_settings);

Sie können funktionierende Beispiele dafür sehen, wenn Sie die Datei bootstrap-datetimepicker-master herunterladen. Es gibt Beispielordner mit jeweils einer index.html.

Ato Thejay
quelle
1

Für die Bootstrap 4-Version funktioniert dieser Code.

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

Zeit in Boostrap Datetime Picker deaktivieren ...

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

Datum in Boostrap Datetime Picker deaktivieren ...

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

Dies ermöglicht die Anzeige der Zeit im Eingabefeld, verbirgt jedoch die Zeitauswahltaste, die das zweite Li-Element im Akkordeon ist

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

Ich weiß, dass dies spät ist, aber die Antwort ist einfach, "Zeit" aus dem Wort datetimepickerzu entfernen, um es in zu ändern datepicker. Sie können es mit formatieren dateFormat.

      jQuery( "#datetimepicker4" ).datepicker({
        dateFormat: "MM dd, yy",
      });
Dawn Green
quelle
Ich bin mir nicht sicher, warum Sie meinen Kommentar verfehlt haben, Dmitry, weil er tatsächlich die Frage des Posters beantwortet. Die Tatsache, dass es verschiedene dateFormats gibt, ist für die Frage nicht relevant und wird hier nur als Beispiel gezeigt.
Dawn Green
-1

Hier ist die Lösung für Sie. Es ist sehr einfach, Code wie folgt hinzuzufügen:

    $('#datetimepicker4').datetimepicker({ 

    pickTime: false 

    minview:2;(Please see here.)

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

quelle
-3

Nicht so viel Zeit und Sprache auf einmal zu verschieben, ich setze dies und arbeite nicht

$(function () {
    $('#datetimepicker2').datetimepicker({
              locale: 'es',
              pickTime: false
          });
});
Manu Terrón
quelle
2
Es wird schwierig sein, eine Vorstellung von Ihrer Antwort zu bekommen.
Anptk