javascript - 如何使用 JavaScript 显示您的时间和我们的时钟?
问题描述
在我的网站上,我想将我的当地时间显示为Our Time,将访客时间显示为Your time。现在,我有这个 JS 代码:
<script>
function showTime(){
var date = new Date();
var h = date.getHours(); // 0 - 23
var m = date.getMinutes(); // 0 - 59
var s = date.getSeconds(); // 0 - 59
var session = "AM";
if(h == 0){
h = 12;
}
if(h > 12){
h = h - 12;
session = "PM";
}
h = (h < 10) ? "0" + h : h;
m = (m < 10) ? "0" + m : m;
s = (s < 10) ? "0" + s : s;
var time = h + ":" + m + ":" + s + " " + session;
document.getElementById("our_time").innerText = time;
document.getElementById("our_time").textContent = time;
setTimeout(showTime, 1000);
}
showTime();
</script>
它显示我的当地时间。
现在,我将使用相同的代码来显示访客时间还是需要更改什么?
解决方案
您需要知道您的时区(可以在此处找到时区列表),然后像这样使用它date.toLocaleTimeString()
:
const locale = 'en-US';
const our_timeZone = 'America/Los_Angeles';
// refresh time every second
setInterval(() => {
document.getElementById('our_time').innerHTML = new Date().toLocaleTimeString(locale, { timeStyle: 'long', timeZone: our_timeZone });
document.getElementById('your_time').innerHTML = new Date().toLocaleTimeString(locale, { timeStyle: 'long' });
}, 1);
<p>Our time</p>
<span id="our_time"></span>
<p>Your time</p>
<span id="your_time"></span>
推荐阅读
- php - 日期输入类型的奇怪输出格式
- java - ping 数千个 url 的 Java 程序
- winapi - Pywin32:无法将 win32api.SendMessage 发送到 DOS 框程序?
- python - Pandas read_sql() 不返回全部值,减小大小
- node.js - 符号链接始终指向其父目录
- html - 将动态类名添加到 React 中的硬编码类列表中
- python - 当鼠标在小部件上时如何显示突出显示的标签
- ios - 将 RealityKit 框架导入项目会使旧设备崩溃
- regex - 在 Google 工作表中使用 REGEXMATCH 过滤以过滤掉单元格中包含的文本
- python - 如何在 django 的表单中从模型字段设置 attr