web-dev-qa-db-de.com

Format und Wert im Eingabetyp einstellen = "Datum"

Gibt es eine Möglichkeit, das Format von <input type="date" /> einzustellen? Wenn nein, wie kann ich das Datum in diesem Feld mithilfe von JavaScript im Standardformat type="date" einstellen. Wie bekomme ich das Format dieses Feldes? 

EDIT: Eigentlich möchte ich die native Datumsauswahl des Mobilgeräts zeigen, weshalb ich diese Art der Eingabe ausgewählt habe. Wenn es eine Alternative für dieses Feld gibt, wird es auch gut sein.

Tut mir leid, wenn ich etwas Dummes gesagt habe. Bitte führen Sie mich

12
muneebShabbir

Das Format ist YYYY-MM-DD. Du kannst es nicht ändern.

$('#myinput').val('2013-12-31'); setzt den Wert

17
wachme

new Date().toISOString().split('T')[0];

10

versuche dies :)

function getDefaultDate(){

    var now = new Date();
    var day = ("0" + now.getDate()).slice(-2);
    var month = ("0" + (now.getMonth() + 1)).slice(-2);
    var today = now.getFullYear()+"-"+(month)+"-"+(day) ;

    return today;
}

$(document).ready(function(){ 
    $("#dateid").val( getDefaultDate()); 
});
6
argie cruz

Einfacher als das oben Gesagte

var today = new Date().toISOString().substring(0,10); # "2013-12-31"
2
zevero

Es ist hässlich, aber es funktioniert. : /

var today = new Date().toLocaleString('en-GB').split(' ')[0].split('/').reverse().join('-');
1
c0nstruct0r

Ich würde versuchen, Jquery und Jquery ui zu verwenden, um ein Nice-Kalendersteuerelement hinzuzufügen, das alle Werte für Sie auswählt und formatiert. Die einfache Formatierung eines Eingabefeldes reicht für anspruchsvolle Benutzer des heutigen Webs nicht aus :)

Schauen Sie sich diesen link an

1
Ted

Sie möchten den Wert aus der Eingabe abrufen und einer neuen Date-Instanz zuweisen.

let date = document.getElementById('dateInput');

let formattedDate = new Date(date.value);

console.log(formattedDate);
0
Saviour Essien

Ich denke das kann helfen

function myFormatDateFunction(date, format) {
     ...
}

jQuery('input[type="date"]')                                             
    .each(function(){                                                              
        Object.defineProperty(this,'value',{                                         
          get: function() {                                   
            return myFormatDateFunction(this.valueAsDate, 'dd.mm.yyyy');      
          },                                                                         
          configurable: true,                                                        
          enumerable : true                                                          
        });                                                                          
      });                                                                                
0
i.Nemiro

Das kanadische Gebietsschema hat dasselbe Format: 

new Date().toLocaleDateString('en-CA')
0
MathJ

Bitte überprüfen Sie diese https://stackoverflow.com/a/9519493/1074944 und probieren Sie auf diese Weise auch $('input[type="date"]').datepicker().prop('type','text'); die demo

0
Sender
function getDefaultDate(curDate){
var dt = new Date(curDate);`enter code here`
var date = dt.getDate();
var month = dt.getMonth();
var year = dt.getFullYear();
if (month.toString().length == 1) {
    month = "0" + month
}
if (date.toString().length == 1) {
    date = "0" + date
}
return year.toString() + "-" + month.toString() + "-" + date.toString();
}

In Funktion geben Sie Ihre Datumszeichenfolge ein.

0
sushant

@cOnstructOr bot eine großartige Idee, hinterließ jedoch ein Komma

var today = new Date().toLocaleString('en-GB').split(' ')[0].slice(0,-1).split('/').reverse().join('-');

behebt das

0
Simon H