当前位置: 首页 > 知识库问答 >
问题:

准确获取用户的本地时间

丌官翰采
2023-03-14

我正在做一个主要使用javascript, css, html5的项目。我需要准确地获取本地时间,无论用户位于哪里,以允许用户在特定日期访问模块。假设1九月

如何准确获取用户的本地时间?

选项:

1:使用JavaScript获取用户的本地时间并使用它。

问题:用户可以手动更改其系统的日期时间设置,以更改日期并过早访问模块。

2:使用服务器日期时间在特定日期启用模块。

问题:服务器可能位于任何地方,例如:在美国和澳大利亚的人将无法访问模块,除非美国的日期是9月1日。

还有其他选择吗。

使用客户端IP地址是一种选择吗?

共有3个答案

袁泰平
2023-03-14

如果用户授予权限,并且正在使用受支持的浏览器等,则可以使用navigator获取其位置。地理定位。getCurrentPosition()

见开发者。mozilla。org/en US/docs/Web/API/Geolocation。获取参数和更多信息的getCurrentPosition。

然后可以使用geonames提供的服务。组织。如,http://api.geonames.org/timezone?lat=47.01

根据第一条评论更新:当然,你永远不能相信任何来自外部的数据。但是你可以做一些事情来提高自信。这并不是一个完全独立的解决方案。

司寇正志
2023-03-14

首先,您应该始终假设用户可能会伪造其计算的任何数据。因此,使用服务器时间更可靠。

使用IP是一个选项-您可以找到允许您解析IP以确定其所在国家的服务和数据库。示例:http://php.net/manual/en/book.geoip.php

最后——为什么你想要不同国家不同的发布日期?他们总是可以使用其他国家的人以他们的名义访问模块。

公孙胡媚
2023-03-14

用户的时间/日期信息不包括在超文本传输协议请求头中,所以php不会自动拥有这些信息。正如你所说,你可以使用javascript获取用户的时间,类似于这里发布的:确定用户的时区——这是纯javascript,如果你使用jQuery或类似的东西,你可以很容易地做到这一点。

然而,如果这些是注册用户,您可以允许他们在其个人资料/设置中设置时区,然后只需使用该设置,这样即使他们正在旅行,他们也将始终设置为“家庭”时区。

这有用吗?

 类似资料:
  • 问题内容: 我有一个存储在系统时间UTC中的mysql值。我需要将其转换为我在Django的本地时区。这是我目前拥有的: 我如何将last_updated值设为本地时区=“ America / Los Angeles”? 问题答案: 时区的Django文档记录了将对象转换为适当时区以进行显示的所有必要详细信息。 您的数据存储在UTC中,这很好。当您从数据库中获取字段对象时,它将是一个天真的对象。即

  • 我对编程比较陌生,尤其是Python。我被要求创建一个for循环,打印用户给出的10个数字。我知道如何接受输入以及如何创建for循环。困扰我的是,在我的程序中,我依靠用户插入10个数字。我如何让程序控制插入多少数字?这是我尝试的:

  • 问题内容: 我如何获得客户的时间?当我使用它返回服务器的时间。 问题答案: 每个人都提到,PHP仅显示服务器端时间。 对于客户端,您将需要Javascript,以下方法可以解决问题。 而且,如果您想要AM / PM后缀,则应执行以下操作:

  • 问题内容: 我想使用Java代码获取不同时区的本地时间。基于传递给函数的时区,我需要该时区的本地时间。如何实现呢? 问题答案:

  • 我想向本地网络中设备上运行的RestApi发出get请求,以检索设备生成的JSON数据。 RestApi正确响应来自网络中每个其他设备的浏览器调用。但是,当我试图通过dart的http访问数据时,Bash的curl也可以工作。get程序无法检索JSON数据-我得到的是状态码400。 修改URL以确保其正确写入, 在flutter应用程序中,我可以很容易地通过http.get连接到Firebase上

  • 问题内容: 如何在Swift中获取本地日期和时间? 问题答案: 我已经找到答案了。