使用 JavaScript 或 PHP 自动检测用户当前本地时间

2024-05-01

我经常需要根据用户的信息或受用户的影响来显示信息actual本地时间因时区而异。是否有可靠的方法来获取用户的当前时间和/或时区?

关键的问题:

  • 服务器端代码基于网站主机或用户的ISP
  • 客户端代码基于用户的系统时钟,太容易被操纵

关键问题:

  • 是否有必要精确定位用户的地理位置?
  • ISP时间可以作为准确的参考吗?
  • 用户操作系统时钟可以由用户改变或修改吗?

例子:

倒数:

距离比赛结束仅剩 1 小时 3 分 56 秒!

问题:还剩几秒,基于什么;用户的操作系统时钟、主机服务器时间(加上或减去偏移量)、ISP 系统时间。如果所有时区的时钟同时结束,这很容易,但如果是用户本地时区的午夜等倒计时,那就更棘手了)

Edit log

项目发布于下午 3:03(10 秒前)

问题:“10 秒”的计算与用户无关,时间会根据用户的时区进行调整。

开放时间:

这家餐厅现在营业至午夜(澳大利亚东部标准时间)。

问题:给出诸如午夜之类的时间可以通过从服务器端偏移来计算,但使用伪时间(例如现在,2 小时内)是基于用户的时间。

PHP: using time()输出服务器时间。这可以根据用户的时区进行偏移。

JavaScript: using Date()输出用户的计算机时钟时间,太容易被操纵。


使用 JavaScript,有一种方法可以获取用户当前的时区偏移量。

new Date().getTimezoneOffset() * -1

返回距 GMT 的分钟偏移量。不要存储该值,因为它可能会根据夏令时而变化。如果您在服务器(php)上需要它,那么您需要在发送时捕获它。

不幸的是,HTTP 规范没有将用户时区作为标头发送,而这正是 php 所需要的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 JavaScript 或 PHP 自动检测用户当前本地时间 的相关文章

  • 将 jquery-mobile 与 Webpack 结合使用

    我正在尝试使用 webpack 加载 jquery mobile 但到目前为止还没有运气 我知道 jquery mobile 依赖于 jquery ui 而 jquery ui 又依赖于 jquery 如何在 Webpack 中设置这样的场
  • 将音频与视频流合并 Node.js

    我正在创建 YouTube 视频下载器并且正在使用ytdl core库 它无法下载带有音频的高质量视频 因为 youtube 将其放在另一个文件中 但我需要将其全部下载到一个文件中 我已经这样做了 app get download asyn
  • 除括号之间的内容外,所有内容均小写

    考虑以下字符串 LoReM FOO IPSUM dolor BAR Samet fooBar 我正在寻找一种方法来小写所有内容 除了 brackets 之间的内容应该被忽略 所以期望的输出是 lorem FOO ipsum dolor BA
  • JavaScript 动画平滑滚动

    默认情况下 当您有这样的片段链接时 a href some url some fragment some text a 浏览器立即向下滚动到该片段 我该如何编程才能使用标准 JS 顺利地向下移动到该片段 这是一个例子 Example htt
  • KeyboardEvent.keyCode 已弃用。这在实践中意味着什么?

    根据 MDN 我们绝对应该not正在使用 keyCode财产 它已被弃用 https developer mozilla org en US docs Web API KeyboardEvent keyCode https develope
  • 访问 TypeScript 数组的最后一个元素

    TypeScript 中有访问数组最后一个元素的符号吗 在 Ruby 中我可以说 array 1 有类似的东西吗 您可以通过索引访问数组元素 数组中最后一个元素的索引将是数组的长度 1 因为索引是从零开始的 这应该有效 var items
  • 如何从顺序键盘导航中删除 Vuetify 附加图标

    在带有 Vuetify 的 Vue js 应用程序中 我有一组用v text field并且其中有一个append icon为了切换文本可见性 如下所示
  • 如何滚动到div内的元素?

    我有一个滚动的div我想在点击它时发生一个事件 它会强制执行此操作div滚动以查看内部元素 我写的JavasCript是这样的 document getElementById chr scrollIntoView true 但这会在滚动时滚
  • Flux + React.js - 操作中的回调是好还是坏?

    让我解释一下我最近遇到的问题 我有 React js Flux 驱动的应用程序 有一个列表显示文章数量 注意 应用程序中有多个不同的列表 和文章详情查看在里面 但每个列表只有一个 API 端点 它返回文章数组 为了显示我需要的详细信息fin
  • 如何访问另一个 mobx 商店中的 mobx 商店?

    假设以下结构 stores RouterStore js UserStore js index js each of Store jsfiles 是一个 mobx 存储类 包含 observable and action index js只
  • 如何将 Browserify 与外部依赖项一起使用?

    我正在尝试慢慢地将 Browserify 引入我的网站 但我不想重写所有 js 也不希望 jquery 和其他库的重复实例与我的 Browserify 版本捆绑在一起 如果我构建将 jquery 列为外部依赖项的模块 那么如何将其指向我的全
  • 如何在 e2e AngularJS 测试中进行文件上传?

    在我的一种观点中 我有一个文件上传控件 它支持通过拖放或单击按钮后打开的标准文件对话框上传文件 How to do this in my e2e tests1 1 Just one of the two options will be en
  • PHP 中的坏词过滤器?

    我正在用 PHP 编写一个坏词过滤器 我在数组中有一个坏词列表 方法 clean text 的写法如下 public static function cleanse text originalstring if self is sorted
  • Jquery,清除/清空 tbody 元素的所有内容?

    我认为这会相当简单 但似乎空方法无法清除我拥有的 tbody 如果有人知道执行此操作的正确方法 我将不胜感激 我只想删除 tbody 中包含的所有内容 到目前为止我正在尝试 tbodyid empty HTML table tbody tr
  • SimpleXML插入处理指令(样式表)

    我想集成一个XSL文件在一个XML给我的字符串php CURL命令 我试过这个 output XML gived me by curl option hotel simplexml load string output hotel gt a
  • React Native - 跨屏幕传递数据

    我遇到了一些麻烦react native应用程序 我不知道如何跨屏幕传递数据 我意识到还有其他类似的问题在 SO 上得到了回答 但是这些解决方案对我来说不起作用 我正在使用StackNavigator 这是我的设置App js file e
  • 在 PHP 命令行上显示完整的堆栈跟踪

    Problem 我的 PHP 堆栈跟踪缩写为 Stack trace 0 www html table app create php 128 SoapClient gt call call Array 1 www html table ap
  • 当选择下拉列表中的某些值时,取消选中复选框

    当我从下拉列表中选择某个值或用户未从下拉列表中选择任何值时 我需要取消选中复选框 我现在正在使用 Jquery 这是我现在使用的代码 但它不起作用 Script
  • 如何在 SVG 元素上使用箭头标记?

    我需要在 d3 js 中创建一个箭头 但我找到的只是带有节点图的示例 我需要的是简单地制作一个从 A 点到 B 点的箭头 我尝试实现以下示例中的部分代码 http bl ocks org 1153292 http bl ocks org 1
  • 如何更改订阅值?使用 rxJS

    我正在创建一个计时器 需要你的帮助 我刚刚学习 Angular 和 rxJS 对此我有一些疑问 我正在创建一个具有启动 停止 暂停 重置功能的计时器 并且 btn Reset 必须将我的计时器 暂停 到 300 毫秒 怎么做 D 我的启动定

随机推荐

  • 更好的 cout 又名计数;

    伙计们 编写 countn 会很困难 它基本上会在输入的末尾放置换行符 在使用控制台时 这就是我目前所能做的 我发现每次我希望该行成为新行时都编写 n 非常乏味 或者也许它已经实施了 要避免单行上的多次注入 您可以使用临时对象 该临时对象将
  • 使用 selectExpr 选择其中包含特殊字符的 Spark 数据框列

    我所处的场景是我的列名称Munic pio字母上有重音 My selectExpr命令因此失败 有办法解决吗 基本上我有类似以下的表达式 selectExpr CAST Munic pio as string as Munic pio 我真
  • CSS BETWEEN 选择器?

    我理解 相邻选择器 我想做的是根据元素两侧的 div 上的类来更改元素的样式 例如 div class positive div div class divider div div class negative div 正 和 负 类具有不
  • Kotlin 数据类中可变集合的防御性副本

    我想要一个接受只读列表的数据类 data class Notebook val notes List
  • 为什么 EXC_BAD_ACCESS 如此无用?

    首先我要说的是 我有 Flash AS3 的背景 我意识到 Flash AS3 对大多数事情的要求并不像 iPhone Objective C 那样严格 我怀疑我的问题实际上也适用于 AS3 但让我问它与 Obj c 有关 为什么错误 EX
  • 带有 Grails 的 AOP

    我想在我的 Grails 项目中创建自定义日志记录注释 My code class MyService AuditLog def method1 println method1 called method2 AuditLog def met
  • 当我传递多个范围时,Microsoft Graph 权限范围引发错误

    我需要以编程方式将文件上传到 OneDrive 我不会有前端来生成密钥 因为我需要在没有用户交互的情况下生成它们 这就是我的问题 我已经成功地通过一个简单的 POC 做到了这一点 但它必然需要用户交互 因为它使用登录名和密码凭据对 Micr
  • grunt-bower-task 和 Polymer

    我似乎找不到简单的复制方法all文件来自Polymer使用咕噜鲍尔任务 grunt initConfig bower install options targetDir wwwroot lib layout byComponent inst
  • 安装 SSDT VS 2015 17.3 和 17.4 时出错 - 系统找不到指定的文件

    我已在 VS 2017 上成功安装 SSDT 2017 但是 我们有一些较旧的 SSIS 包和 SSRS 报告 我需要 VS SSDT 2015 我安装了 VS 2015 Enterprise 我正在尝试安装 SSDT 2015 17 3
  • 从 PHP 和 Timber/Twig 中的高级自定义字段中对转发器字段进行排序

    我正在尝试使用 Twig 1 34 的 WordPress Timber 插件实现对 WordPress 插件高级自定义字段 ACF 的转发器字段的输出进行排序 下面从 ACF 排序的基本 PHP 示例来自https www advance
  • 将自定义累积函数应用于 pandas 数据框

    我有一个按以下顺序排序的数据框date df pd DataFrame idx 1 1 1 2 2 2 date 2016 04 30 2016 05 31 2016 06 31 2016 04 30 2016 05 31 2016 06
  • Android-数据在微调器中分配,但选择时不显示微调器中的值

    Problem我正在使用 Retrofit 从 mysql 获取一些产品类别 数据即将到来并在微调器中分配 但是当我选择一个项目时 它不会显示 在下拉菜单中 项目已分配 并且 setOnItemSelected 侦听器也正在工作 但所选项目
  • 在 Emacs 中自动完成 Bibtex 文件中的 Pandoc 风格引文

    Pandoc 风格的引文 Pandoc http www johnmacfarlane net pandoc 使用 Markdown 格式 支持使用 BibTeX 文件中的键自动引用 该格式的一些示例如下 Blah blah doe99 B
  • 客户端和服务器的 Git 分支结构

    对于我的一门计算机科学课程 我和一个小组正在使用客户端 服务器架构编写一个应用程序 我很好奇在 Git 存储库中组织项目的最佳实践是什么 我的意思是 我们是否应该像这样构建目录 ProjectDir Clients Client1 file
  • 如何强制netbeans html自动完成使用双引号而不是单引号?

    我正在使用 NetBeans 7 3 我喜欢它的自动完成功能 然而在这个新的 7 3 版本中 当我输入
  • 熊猫系列名称

    我试图将我的系列命名为 Points 但它没有显示为 Points Points pd Series 1 2 3 print Points name output None 我什至尝试重命名它 但它仍然显示 无 Points rename
  • 增加图像亮度而不溢出

    我在尝试增加图像亮度时遇到问题 这是原始图像 我想要得到的图像是这样的 现在使用以下代码增加亮度 image cv2 imread home wni vbshare tmp a4 index2 png 0 if sum image 0 le
  • 在 Android 中打开受密码保护的 ZIP?

    有没有一个库或一个简单的方法如何在 Android 中打开受密码保护的 ZIP 存档 我知道 ZIP 加密有不同类型 我想打开最简单的一个 在 Unix 中使用以下命令创建zip e命令 可以在 Windows 中打开相同的文件 将要求输入
  • 复杂的 SOLR 查询,包括 NOT 和 OR

    我对 SOLR 搜索有一些相当复杂的要求 我需要针对标记内容的数据库执行这些搜索 我需要首先过滤数据库以获取与我的过滤器标签匹配的结果 任何具有黑名单中的标签的结果都应被删除 除非它们也包含白名单中的标签 假设我想检索所有标记为 森林 或
  • 使用 JavaScript 或 PHP 自动检测用户当前本地时间

    我经常需要根据用户的信息或受用户的影响来显示信息actual本地时间因时区而异 是否有可靠的方法来获取用户的当前时间和 或时区 关键的问题 服务器端代码基于网站主机或用户的ISP 客户端代码基于用户的系统时钟 太容易被操纵 关键问题 是否有