热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何自动检测用户的时区?-Howtoautomaticallydetectuser'stimezone?

hiiamcreatingawebapplication,whereifauserregisterwewillshowthecreateddate.嗨,我正在创建

hi i am creating a web application , where if a user register we will show the created date.

嗨,我正在创建一个Web应用程序,如果用户注册,我们将显示创建日期。

For that we are using Current time stamp in my sql table.Which shows server Time.But we don't know how to convert Time according to user time zone.

为此,我们在我的sql表中使用当前时间戳。它显示服务器Time.But我们不知道如何根据用户时区转换时间。

Because we are not getting user's country .

因为我们没有得到用户的国家。

Can any on help me to fix it

任何可以帮助我解决它

Thanks in advance :)

提前致谢 :)

5 个解决方案

#1


23  

Use Javascript solution

使用Javascript解决方案

http://www.onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-Javascript/

Demo should show your timezone in select box.

演示应在选择框中显示您的时区。

http://onlineaspect.com/examples/timezone/index.html (Dead link)

http://onlineaspect.com/examples/timezone/index.html(死链接)

#2


8  

You can't get a user's timezone on the server side, and you can only make a guess at it on the client side.

您无法在服务器端获取用户的时区,并且您只能在客户端猜测它。

If you rely on getting the user's IP address then you could geolocate that and deduce a time.

如果您依赖于获取用户的IP地址,那么您可以对其进行地理定位并推断出时间。

The way this is usually done is by asking the user (when they register, for instance) what timezone they are in and then use this in your time calculations.

通常这样做的方法是询问用户(例如他们何时注册)他们所在的时区,然后在计算时间中使用它。

#3


4  

For geolocation you can use http://ipinfodb.com/, work great with an API!

对于地理定位,您可以使用http://ipinfodb.com/,与API配合使用!

function GeoLocation($precision='city',$ip,$api) {

    if($precision == "country") {
        $file = "ip_query_country.php";
    }
    else {
        $file = "ip_query.php";
    }

    $params = @file_get_contents("http://api.ipinfodb.com/v2/ip_query.php?key=".$api."&ip=".$ip."&timezOne=true");
    $fields = @new SimpleXMLElement($params);
    foreach($fields as $field => $val) {
        $result[(string)$field] = (string)$val;
    }
    return $result;
}

#4


2  

With a small "cheating" (using client side scripting) and posting the result to your server, you can access your client's timezone.

通过小的“作弊”(使用客户端脚本)并将结果发布到您的服务器,您可以访问客户端的时区。

For example you can use this Javascript library:

例如,您可以使用此Javascript库:

https://bitbucket.org/pellepim/jstimezonedetect

var tz = jstz.determine(); // Determines the time zone of the browser client
tz.name(); // Returns the name of the time zone eg "Europe/Berlin"

Demo: http://pellepim.bitbucket.org/jstz/

#5


1  

The most reliable method is to ask the user to set his own timezone. I think it's a good idea to have a timestamp of when the users account was created in your own database for your own use.

最可靠的方法是要求用户设置自己的时区。我认为在您自己的数据库中创建用户帐户的时间戳是一个好主意,供您自己使用。

These are the steps I would take to have a users timezone:

这些是我用来拥有用户时区的步骤:

1- Preserve the timestamp column that you have for your own usage
2- Add a new column for the actual users timezone
3- Use Javascript to retrieve the timezone:
new Date().getTimezoneOffset()/60;

4- Also allow users to set there own timezone as well

1-保留您自己使用的时间戳列2-为实际用户时区添加新列3-使用Javascript检索时区:new Date()。getTimezoneOffset()/ 60;
4-还允许用户设置自己的时区

You can also take it a step further and use a geo-location service to detect a users timezone.

您还可以更进一步,使用地理位置服务来检测用户时区。


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • mysql-cluster集群sql节点高可用keepalived的故障处理过程
    本文描述了mysql-cluster集群sql节点高可用keepalived的故障处理过程,包括故障发生时间、故障描述、故障分析等内容。根据keepalived的日志分析,发现bogus VRRP packet received on eth0 !!!等错误信息,进而导致vip地址失效,使得mysql-cluster的api无法访问。针对这个问题,本文提供了相应的解决方案。 ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
author-avatar
82年的老代码
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有