繁体   English   中英

如何使用 JavaScript 显示您的时间和我们的时钟?

[英]How to show Your time and Our time clock using JavaScript?

在我的网站上,我想将我的当地时间显示为Our Time和 Visitor 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>

也许你的方法是错误的。

a)我们的时间(网站时间):这应该来自服务器(并且可能会定期与它同步)

b) 您的时间(用户的本地时间): new Date() 将执行此部分,因为它在客户端(浏览器)上运行。

这是来自“ http://worldtimeapi.org/api/timezone/America/Argentina/Salta ”的示例json数据哦! 它也是免费的.. 用相关时区挂接你的 ajax 调用

{ "week_number":49, "utc_offset":"-03:00",
"utc_datetime":"2019-12-03T11:42:02.994093+00:00",
"unixtime":1575373322, "timezone":"美国/阿根廷/萨尔塔",
"raw_offset":-10800, "dst_until":null, "dst_offset":0,
“dst_from”:空,“dst”:假,“day_of_year”:337,
"day_of_week":2, "datetime":"2019-12-03T08:42:02.994093-03:00",
"client_ip":"hi hi hi ... 几乎让我在那里", "abbreviation":"-03" }

另外,试试这段代码..

new Date().toLocaleString('en-US', { hour: 'numeric', minute: 'numeric', hour12: true })

这将给出一个输出

“下午 5:23”

ps:这只是一个建议..

使用获取客户端的时区

const localDate = new Date(1489199400000);

localDate.getTimeZoneOffset();//time zone offset

然后在 Date 中使用此值并获得您的时间和客户端机器时间的差异

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM