php - 如何为 php web 应用程序管理不同国家/地区的不同用户的时区?

标签 php mysql timezone

我正在开发网络应用程序。该应用程序有来自不同国家的不同用户。

我曾经使用 UTC 时间戳来管理他们的注册。它对我来说很好。

但是当我检查帐户的到期日期时出现问题。

例如-

假设注册有效期为 15 天,并且来自印度的用户根据亚洲/加尔各答时区的注册日期为 2014 年 6 月 11 日,在数据库表中我以 Unix 时间戳格式存储了注册日期(服务器设置为 UTC 时区) ,在第 16 天,我想使他的帐户过期,当我通过比较今天的日期(时间戳中的日期,使用 PHP 的 strtotime() 函数将日期转换为时间戳)执行查询时,我发现一天有差异。 如何处理这些类型的情况?这不仅是注册问题,还存在其他一些条件。 另外,如果我想使用 cron 作业发送注册到期的电子邮件,它将如何工作?

最佳答案

您需要执行几个步骤。

  • 各国时区数据库表
  • 在注册或提交表格时获取 IP 地址
  • 根据 IP 检查详细信息并获取国家和时区
  • 沿记录信息保存国家和时区

通过这种方式,您可以沿其创建者的时区维护记录。

就基于时区的过期记录而言,您可以根据它们的时区进行检查。

假设我在巴基斯坦,时区是 5+。所以到期步骤也应该遵循我的时区。

关于php - 如何为 php web 应用程序管理不同国家/地区的不同用户的时区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24426029/

相关文章:

javascript - filterModel 在 yii2 框架中不起作用

c# - 如何判断连接字符串属于 MySql 还是 SQL Server?

php - 从我的表单创建缩略图时出错

php - 为什么 file_get_contents() 返回错误 "Filename cannot be empty"?

javascript - 如何将 PHP 标签 $value 设置为 Javascript 参数?

php内联回调

php - 使用 MySQLi 时如何防止 SQL 注入(inject)

docker - Debian的zic缺少-b选项

python - Python 中奇怪的日期解析结果

php - zoneinfo:新的 right 和 posix 区域名称前缀是什么?