javascript - 如何在不使用系统时间的情况下在 Javascript 中获取当前日期/时间?
问题描述
new Date()
获取当前系统时间。这意味着,如果当前系统时间错误(在我的情况下,客户端机器是 Windows 系统,其时间设置为当前时间的 -4 小时),new Date()
将提供错误值。
我需要一种方法来获取客户的当前日期/时间,而不使用他的机器日期/时间(可能是某种方法来确定客户所在的时区,进而计算出时间)。
我如何在 JS 中做到这一点?
解决方案
您可以从 Internet 上的 API 获取时间,这样您就不必使用客户端时间。您可以在以下网站发出 API 请求以获取时间。我希望它有所帮助。
这是一个示例,您可以如何从上述 API 中根据您的 IP 地址获取时区。
注意:请访问上面的链接以获取您需要的时区的 API 链接并在此处提供。
$("#btn").on("click", function() {
$.ajax({
url: "https://worldtimeapi.org/api/ip",
success: function(result) {
console.log(result)
$("#tm").text(result.datetime);
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="btn" type="button" value="Get Current Time" />
<p id="tm" />
推荐阅读
- android - 仅在特定片段中滚动时,CoordinatorLayout 隐藏工具栏
- php - 在数组中搜索键并输出值
- python - Discord bot 使语音通道中的每个人都静音不起作用(Python)
- php - Ajax 成功响应不显示来自 PHP 代码的回显消息
- reactjs - 按下按钮时,setState 仅在第二次按下时起作用
- python - Python 异常是谁的责任?
- python - 是否可以在 Python 中使用“或”来初始化具有 2 个字符串的变量?
- spring - Keycloak/OpenID:代表客户端应用程序请求用户信息
- annotations - 智能字段注释 - valuehelp 下拉菜单 - 不显示描述
- ios - 使用 RequestPermissionAsync 请求相机权限时,Xamarin iOS 应用程序崩溃