GOOGLE ADS

Sonntag, 17. April 2022

Auf der Suche nach input=date akzeptiert das Format DD/MM/YYYY in JavaScript

Ich bin relativ neu in JavaScript und wurde gebeten, einen Datumsrechner zu erstellen, der berechnet, wie alt Sie im Vergleich zum 31. März 2019 sind. Ich habe diesen Teil zum Laufen gebracht, aber der Kunde hat darum gebeten, dass er ihn ausfüllen kann das Datum als TT/MM/JJJJ und nicht als Standard MM/TT/JJJJ!?

Ich habe versucht, eine Bootstrap-Datumsauswahl zu verwenden und zu einer Texteingabe zu wechseln, aber ich erhalte immer ein ungültiges Datum!?

Dies scheint eine Codezeile zu sein, die mir fehlt, aber einige der Beispiele, die ich ausprobiert habe, haben bei mir nicht funktioniert... also hier ist mein JS und HTML, das ich im Moment dafür verwende, wenn jemand kann dabei helfen, wäre sehr dankbar!

https://codepen.io/raindahl/pen/vzBXgV


function ageCalculate() {
var birthDate1 = document.getElementById("birth_date").value;
var today = new Date("2019-03-31");
var birthDate = new Date(birthDate1);
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
age--;
}
document.getElementById("age").innerHTML =
"<strong>On 31st March 2019 the patient will be:</strong>" +
"&nbsp" +
age +
" years " +
"&nbsp" +
"old";
var year_age = age;
var az = document.getElementById("invalid");
var bd = document.getElementById("age");
if (isNaN(year_age)) {
bd.style.display = "none";
az.style.display = "block";
}
if (year_age <= 64) {
bd.style.display = "block";
az.style.display = "none";
}
if (year_age >= 65) {
bd.style.display = "block";
az.style.display = "none";
}
if (year_age >= 75) {
bd.style.display = "block";
az.style.display = "none";
}
}

<input type="date" class="datepicker" id="birth_date" placeholder="DD/MM/YYYY" />
<input class="btn btn-primary" type="button" value="OK" onclick="ageCalculate()">
<div class="col-md-6 col-sm-6">
<!-- Displays the patients age: 42 Years 7months -->
<div id="age"></div>
<!-- Invalid Dates -->
<div id="invalid" style="display:none;">
<div class="alert alert-danger">
<span class="fa fa-exclamation-triangle"></span> &nbsp; <strong>Invalid date of birth</strong>
</div>
</div>
<!-- Over 65 Years Old -->
<div id="over65" style="display:none;">
<div class="alert alert-success">
<span class="fa fa-check"></span> &nbsp; <strong>This patient requires Trivalent (TIV) </strong>
</div>
</div>
<!-- Over 75 Years Old -->
<div id="over75" style="display:none;">
<div class="alert alert-success">
<span class="fa fa-check"></span> &nbsp; <strong>This patient requires Adjuvanted Trivalent (aTIV)</strong>
</div>
</div>
<!-- Under 65 Years Old -->
<div id="under65" style="display: none;">
<div class="alert alert-success">
<span class="fa fa-check"></span> &nbsp; <strong>This patient requires Quadrivalent (QIV)</strong>
</div>
</div>
<p id="demo"></p>
</div>

Lösung des Problems

Versuchen Sie, diese Funktion zu verwenden, sie gibt das Datum als TT/MM/JJJJ zurück


function dateFormatter(date) {
date = new Date(date);
const date_string =
(date.getDate().toString().length === 2
? date.getDate()
: "0" + date.getDate().toString()) +
"/" +
((date.getMonth() + 1).toString().length === 2
? date.getMonth() + 1
: "0" + (date.getMonth() + 1).toString()) +
"/" +
date.getFullYear();
return date_string;
}

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...