javascript - 如何将准确的时间戳信息从 Android 地理定位应用程序发送到 Postgresql 数据库?

标签 javascript android mysql postgresql

首先,很抱歉,如果我的问题对您来说太简单了,我只是一个初学者:-) 我创建了一个地理定位应用程序,分为两部分:一个 Android 地理定位 map ,人们用它在 OpenStreetMaps basemap 上的手机上添加标记;以及一个可通过浏览器访问的应用程序,我可以用它来分析这些标记(我可以做一些简单的统计)例如显示时间 A 和 B 之间的标记 A 和 B 的数量,例如,9 月 1 日到 9 月 4 日之间,或者某一天的上午 8 点到晚上 8 点之间)。此信息由我的服务器使用 Postgresql 数据库管理。服务器位于伦敦,但添加标记的人可以在地球上的任何地方。

好的,那么我的问题是:当他们在 map 上添加标记时,服务器如何知道正确的时间戳,以便为每个用户准确注册时间,从而使他能够进行准确的统计?

由于我们不会有那么多用户,与我合作的开发人员说最好在 Postgresql 中指定用户的时区,但他只允许我在时区中添加 + 2、- 2 等服务器时间,不考虑夏令时等。这意味着我需要在夏令时手动更改此时差。开发者告诉我,这样更安全,以防用户手机上设置的时间不正确。

但是,一位开发人员 friend 告诉我,这不是正确的方法,而且 时间应该由每个用户的手机发送,可能使用 JavaScript 和 moment.js 之类的东西。

我很困惑,因为我还阅读了 Postgresql 文档,可以在那里指定时区信息,包括具有夏令时的时区。我没有自己执行此任务的技术技能,因此我希望能够为我的开发人员提供任何指导,因为这对于我正在尝试构建的应用程序非常重要。

对于我的案例中要遵循的标准程序的任何帮助,我们表示感谢,非常感谢大家!

最诚挚的问候,

菲利普

<code>android<\code>
<code>mysql<\code>
<code>javascript<\code>

最佳答案

设备(如果是手机)可能会略有不同,如果选择自己的时区并提交,即使彼此相邻并且是否已 Root ,也可能会有很大差异。

执行此操作的最佳方法是在数据库端。在表中创建一个 TIMESTAMP 类型的字段,例如“CreationTime”,然后在定义该表时,还将默认值设置为 CURRENT_TIMESTAMP。

所以这会为您完成所有工作,您甚至不需要编写任何代码。每次插入新记录时,服务器都会获取时间并将其粘贴在那里(在创建时,而不是在以后的编辑时)。所有时间都与已知/可控源相关,您就可以开始了。

编辑:啊,刚刚看到“Postgresql”,上面的语法适用于 MySQL。但类似的概念。

关于javascript - 如何将准确的时间戳信息从 Android 地理定位应用程序发送到 Postgresql 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18082760/

相关文章:

php - Mysql/Phpmyadmin 中的德语元音变音

PHP 重新加载时不更新

java - 使用密码无法连接mysql

javascript - 是否可以从父类访问子类的属性?

javascript - 弹性 : Error #2048 when connecting to a WebSocket

javascript - 如何在 VS Code 中为个人功能创建提示

android - 应用程序不断因 NullPointerException 而崩溃

javascript - 是否可以在没有触发器的情况下统计记录?

android - 背景在 iOS 上显示,但在 Android Xamarin 上不显示

Android文字转语音截断另一个文字转语音