以下脚本可以很好地以24小时格式显示日期和时间。我想将其转换为12小时AM / PM格式的显示时间,但无法正常工作。请告诉我它如何正确完成?
<script type="text/javascript">
function date_time(id) {
date = new Date;
year = date.getFullYear();
month = date.getMonth();
months = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec');
d = date.getDate();
day = date.getDay();
days = new Array('Sun', 'Mon, ', 'Tues, ', 'Wed, ', 'Thu, ', 'Fri, ', 'Sat');
h = date.getHours();
if (h < 10) {
h = "0" + h;
}
m = date.getMinutes();
if (m < 10) {
m = "0" + m;
}
s = date.getSeconds();
if (s < 10) {
s = "0" + s;
}
result = '' + days[day] + ' ' + months[month] + ' ' + d + ' <br>' + h + ':' + m + ' ' + year + ':' + s;
document.getElementById(id).innerHTML = result;
setTimeout('date_time("' + id + '");', '1000');
return true;
}
</script>
答案 0 :(得分:0)
尝试一下。
function hours12(date) {
return (date.getHours() + 24) % 12 || 12;
}
答案 1 :(得分:0)
将功能更新为:
function date_time(id) {
date = new Date();
year = date.getFullYear();
month = date.getMonth();
months = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec');
d = date.getDate();
day = date.getDay();
days = new Array('Sun', 'Mon, ', 'Tues, ', 'Wed, ', 'Thu, ', 'Fri, ', 'Sat');
h = date.getHours();
if (h < 10) {
h = "0" + h;
}
m = date.getMinutes();
if (m < 10) {
m = "0" + m;
}
s = date.getSeconds();
if (s < 10) {
s = "0" + s;
}
const pmOrAm = h > 12 ? "pm" : "am";
const hoursIn12 = h > 12 ? h - 12 : h;
result = '' + days[day] + ' ' + months[month] + ' ' + d + ' <br>' + hoursIn12 + ':' + m + pmOrAm + ' ' + year + ':' + s;
document.getElementById(id).innerHTML = result;
setTimeout('date_time("' + id + '");', '1000');
return true;
}
答案 2 :(得分:0)
这么简单,试试看
from24to12(hours: any) {
return (hours > 12) ? hours - 12 : (hours == 0 ? 12 : hours);
};
getAmPm(hours: any) {
return (hours < 12) ? "am" : "pm";
};