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
Das Format ist YYYY-MM-DD
. Du kannst es nicht ändern.
$('#myinput').val('2013-12-31');
setzt den Wert
new Date().toISOString().split('T')[0];
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());
});
Einfacher als das oben Gesagte
var today = new Date().toISOString().substring(0,10); # "2013-12-31"
Es ist hässlich, aber es funktioniert. : /
var today = new Date().toLocaleString('en-GB').split(' ')[0].split('/').reverse().join('-');
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
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);
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
});
});
Das kanadische Gebietsschema hat dasselbe Format:
new Date().toLocaleDateString('en-CA')
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
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.
@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