Wie zeigt man ein JavaScript datetime-Objekt im 12-Stunden-Format (AM/PM) an?
Antworten
Zu viele Anzeigen?Soweit ich weiß, ist der beste Weg, dies ohne Erweiterungen und komplexe Codierung zu erreichen, folgender:
date.toLocaleString([], { hour12: true});
<!DOCTYPE html>
<html>
<body>
<p>Click the button to display the date and time as a string.</p>
<button onclick="myFunction()">Try it</button>
<button onclick="fullDateTime()">Try it2</button>
<p id="demo"></p>
<p id="demo2"></p>
<script>
function myFunction() {
var d = new Date();
var n = d.toLocaleString([], { hour: '2-digit', minute: '2-digit' });
document.getElementById("demo").innerHTML = n;
}
function fullDateTime() {
var d = new Date();
var n = d.toLocaleString([], { hour12: true});
document.getElementById("demo2").innerHTML = n;
}
</script>
</body>
</html>
Ich habe das hier gefunden, als ich diese Frage überprüfte.
Wie kann ich .toLocaleTimeString() verwenden, ohne dass Sekunden angezeigt werden?
Utilice Moment.js für diese
Verwenden Sie die folgenden Codes in JavaScript, wenn Sie moment.js verwenden
H, HH 24 hour time
h, or hh 12 hour time (use in conjunction with a or A)
En format()
Methode gibt das Datum in einem bestimmten Format zurück.
moment(new Date()).format("YYYY-MM-DD HH:mm"); // 24H clock
moment(new Date()).format("YYYY-MM-DD hh:mm A"); // 12H clock (AM/PM)
moment(new Date()).format("YYYY-MM-DD hh:mm a"); // 12H clock (am/pm)
Ich schlage vor, moment js für Datum und Uhrzeit zu verwenden.
https://momentjs.com/docs/#/displaying/format/
console.log(moment().format('hh:mm a'));
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
Aktualisiert für mehr Kompression
const formatAMPM = (date) => {
let hours = date.getHours();
let minutes = date.getMinutes();
const ampm = hours >= 12 ? 'pm' : 'am';
hours %= 12;
hours = hours || 12;
minutes = minutes < 10 ? `0${minutes}` : minutes;
const strTime = `${hours}:${minutes} ${ampm}`;
return strTime;
};
console.log(formatAMPM(new Date()));
Verwenden. dateObj.toLocaleString([locales[, options]])
Option 1 - Verwendung von Gebietsschemata
var date = new Date();
console.log(date.toLocaleString('en-US'));
Option 2 - Verwendung von Optionen
var options = { hour12: true };
console.log(date.toLocaleString('en-GB', options));
Nota: wird in allen Browsern außer Safari unterstützt