[javascript] 12시 AM / PM 형식으로 JavaScript 날짜 시간을 어떻게 표시합니까?
12 시간 형식 (AM / PM)으로 JavaScript 날짜 / 시간 객체를 어떻게 표시합니까?
답변
function formatAMPM(date) {
var hours = date.getHours();
var minutes = date.getMinutes();
var ampm = hours >= 12 ? 'pm' : 'am';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
minutes = minutes < 10 ? '0'+minutes : minutes;
var strTime = hours + ':' + minutes + ' ' + ampm;
return strTime;
}
console.log(formatAMPM(new Date));
답변
그냥 시간을 보여주고 싶다면 ..
var time = new Date();
console.log(
time.toLocaleString('en-US', { hour: 'numeric', hour12: true })
);
출력 : 오전 7시
당신도 분을 보여주고 싶다면 …
var time = new Date();
console.log(
time.toLocaleString('en-US', { hour: 'numeric', minute: 'numeric', hour12: true })
);
출력 : 오전 7:23
답변
date.js 와 같은 것을 사용할 수도 있습니다 .
<html>
<script type="text/javascript" src="http://www.datejs.com/build/date.js"></script>
<script>
(function ()
{
document.write(new Date().toString("hh:mm tt"));
})();
</script>
</html>
답변
정규식을 사용하는 방법은 다음과 같습니다.
console.log(new Date('7/10/2013 20:12:34').toLocaleTimeString().replace(/([\d]+:[\d]{2})(:[\d]{2})(.*)/, "$1$3"))
console.log(new Date('7/10/2013 01:12:34').toLocaleTimeString().replace(/([\d]+:[\d]{2})(:[\d]{2})(.*)/, "$1$3"))
이렇게하면 3 개의 일치하는 그룹이 생성됩니다.
([\d]+:[\d]{2})
-시간 : 분(:[\d]{2})
-초(.*)
-공백 및 기간 (마침표는 AM / PM의 공식 이름입니다)
그런 다음 첫 번째 및 세 번째 그룹이 표시됩니다.
경고 : toLocaleTimeString ()은 지역 / 위치에 따라 다르게 작동 할 수 있습니다.
답변
오전 / 오후를 인쇄 할 필요가 없다면 다음과 같은 간결하고 간결한 것을 발견했습니다.
var now = new Date();
var hours = now.getHours() % 12 || 12; // 12h instead of 24h, with 12 instead of 0.
이것은 @bbrame의 답변을 기반으로합니다.
답변
내가 아는 한 확장 및 복잡한 코딩없이 달성하는 가장 좋은 방법은 다음과 같습니다.
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>
이 질문을 확인하는 것을 발견했습니다.
답변
내 제안은 날짜 및 시간 작업에 순간 js를 사용하는 것입니다.
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>