Wie zeigt man ein JavaScript datetime-Objekt im 12-Stunden-Format (AM/PM) an?
Antworten
Zu viele Anzeigen?Es wird das folgende Format zurückgegeben
09:56 AM
Anhängen der Null am Anfang auch für die Stunden, wenn sie kleiner als 10 sind
Hier ist es mit ES6-Syntax
const getTimeAMPMFormat = (date) => {
let hours = date.getHours();
let minutes = date.getMinutes();
const ampm = hours >= 12 ? 'PM' : 'AM';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
hours = hours < 10 ? '0' + hours : hours;
// appending zero in the start if hours less than 10
minutes = minutes < 10 ? '0' + minutes : minutes;
return hours + ':' + minutes + ' ' + ampm;
};
console.log(getTimeAMPMFormat(new Date)); // 09:59 AM
Ich fand, es ist aquí es funktioniert gut.
var date_format = '12'; /* FORMAT CAN BE 12 hour (12) OR 24 hour (24)*/
var d = new Date();
var hour = d.getHours(); /* Returns the hour (from 0-23) */
var minutes = d.getMinutes(); /* Returns the minutes (from 0-59) */
var result = hour;
var ext = '';
if(date_format == '12'){
if(hour > 12){
ext = 'PM';
hour = (hour - 12);
result = hour;
if(hour < 10){
result = "0" + hour;
}else if(hour == 12){
hour = "00";
ext = 'AM';
}
}
else if(hour < 12){
result = ((hour < 10) ? "0" + hour : hour);
ext = 'AM';
}else if(hour == 12){
ext = 'PM';
}
}
if(minutes < 10){
minutes = "0" + minutes;
}
result = result + ":" + minutes + ' ' + ext;
console.log(result);
und plunker Beispiel aquí
Ich hoffe, dass diese Antwort ein wenig besser lesbar ist als die anderen Antworten (insbesondere für Neueinsteiger).
Hier ist die Lösung, die ich in einigen meiner Websites implementiert habe, um den Zeitpunkt der letzten Änderung des Website-Codes mitzuteilen. Sie implementiert die AM/PM-Zeit durch die options
Parameter von date.toLocaleDateString
( siehe zugehörige Mozilla-Dokumentation).
// Last time page code was updated/changed
const options = {
year: "numeric",
month: "long",
weekday: "long",
day: "numeric",
hour: "numeric",
minute: "numeric",
second: "numeric",
hour12: true // This is the line of code we care about here
/*
false: displays 24hs format for time
true: displays 12, AM and PM format
*/
};
let last = document.lastModified;
let date = new Date(last);
let local = date.toLocaleDateString("en-US", options);
let fullDate = `${local}`;
document.getElementById("updated").textContent = fullDate;
Die Ausgabe erfolgt in dem Format:
Saturday, May 28, 2022, 8:38:50 PM
Diese Ausgabe wird dann in folgendem HTML-Code angezeigt:
<p>Last update: <span id="updated">_update_date_goes_here</span></p>
HINWEIS: In diesem Anwendungsfall, document.lastModified
hat einige merkwürdige Verhaltensweisen, je nachdem, ob es lokal oder auf einem externen Server ausgeführt wird ( siehe diese Stack Overflow-Frage). Obwohl es korrekt funktioniert, wenn ich es in meiner GitHub-Seite ausführe (Sie sollten es in Aktion auf der Website unter Fußzeile ).