首页 > 解决方案 > 如何使用 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>

它显示我的当地时间。

现在,我将使用相同的代码来显示访客时间还是需要更改什么?

标签: javascript

解决方案


您需要知道您的时区(可以在此处找到时区列表),然后像这样使用它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>


推荐阅读