javascript - 用我的 HTML 时钟(-9 小时)格式化中国的时间,同时保持非军事时间?
问题描述
请参阅我执行 getHours 和 -9 小时的代码的第 6 行。我在加州,想花时间在中国。问题是当我进入中国时间的凌晨时,我得到一个-(例如:-1:54 AM)。如何修改代码以防止这种情况发生?注意我想保持 12 小时的时间格式,以避免时间显示这个 - 标志。
<html>
<head>
<script language='javascript' type='text/javascript'>
function displayClock() {
var digital = new Date();
var hours = digital.getHours()-9;
var minutes = digital.getMinutes();
var seconds = digital.getSeconds();
var amOrPm = 'AM';
if (hours > 11) amOrPm = 'PM';
if (hours > 12) hours = hours - 12;
if (hours == 0) hours = 12;
if (minutes <= 9) minutes = '0' + minutes;
if (seconds <= 9) seconds = '0' + seconds;
dispTime = '<b>'+hours + ':' + minutes + ':' + seconds + ' ' + amOrPm+'</b>';
document.getElementById('time').innerHTML = dispTime;
setTimeout('displayClock()', 1000);
}
</script>
</head>
<font color="gray">
<span style="font-size: 12pt">
<body style='font size:24; face:Arial;background-color:rgb(255,255,255);margin-left: 0px;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;text-align:left; border:0; margin:0; padding:0' onload='displayClock()'>
<div id='time'></div>
</body>
</html>
解决方案
代替
var hours = digital.getHours()-9;
你可以让日期算术为你做:
digital.setHours(digital.getHours()-9);
var hours = digital.getHours();
推荐阅读
- java - 在清单文件中使用 -cp 选项和类路径运行 java 程序
- python - Python 子包导入
- jpa - Hibernate Envers 无法删除实体
- javascript - 无法使用 jquery-validation.js submitHandler 函数发送“multipart/form-data”表单数据
- c# - 查找用法时如何让 Resharper 列出隐式类型的变量
- arrays - 检查数组何时完成洗牌以执行某些操作
- oracle - 动态操作刷新页面中的所有报表
- php - 空值时的PHP偏移警告
- c# - System.Transactions.TransactionStateInDoubt.EndCommit(InternalTransaction tx):抛出异常 C# .Net
- javascript - OCR 扫描文件并检索元数据