我正在一些网站(新闻门户网站)在PHP和MySQL。当有新闻发布时,我有最后一篇文章。我的时区和服务器时区是GMT + 2。我想从所有时区向所有客户正确显示时间。例如,如果消息被张贴在13:05
我的时区从GMT+3
14:05
从GMT+4
区15:05
显示,为客户,为客户,为12:05
,等等。怎么做?什么是解决方案,以及为此目的在MySQL数据库中存储日期和时间的最佳方式是什么?我也在我的网站中整合了Carbon,但是我找不到那个方法。PHP,MySQL - 如何显示正确的时间张贴artical取决于客户端时区
0
A
回答
0
我们在我们公司做的是我们所有的时间存储在格林威治标准时间。尽管我们在南非。然后根据用户的位置我们将时间转换为正确显示。有很多方法可以确定用户所在的位置并转换时间,但最简单的方法就是询问他们住在哪里并存储该信息。
0
- 在时间戳中保留日期。
- 为所有客户存储时区。
建立这样的连接到数据库运行查询后:
SET @@session.time_zone = "+02:00";
或
SET @@session.time_zone = "Europe/Warsaw";
在哪里时区偏移或名称存储客户端的价值。
所有时间戳值将从定义的时区中的查询返回。
0
储存时像下面
date_default_timezone_set('UTC');
然后同时显示的值使用任何时区js和使用AJAX发送时区服务器和存储它获取用户时区的UTC时区的东西在数据库存储值在SESSION变量中,并在显示日期时添加该时区。 例如 1)https://bitbucket.org/pellepim/jstimezonedetect/src
下载时区JS下面会给你时区
var tz = jstz.determine(); // Determines the time zone of the browser client
var timezone=tz.name(); // Returns the name of the time zone eg "Europe/Berlin"
使得Ajax调用,比如下面
$。员额( “脚本/ set_timezone.php” {timezone:timezone});
和set_timezone.php有代码
session_start();
$_SESSION['user_timezone'] = $_POST['timezone'];
和同时显示显示与JS`偏移=新日期()如下
$date = new DateTime('2012-01-23 05:00:00', new DateTimeZone('UTC'));
$date->setTimezone(new DateTimeZone($_SESSION['user_timezone']));//This will from the session e.g Asia/Kolkata
$time= $date->format('Y-m-d H:i:s');
相关问题
- 1. 如何正确显示客户端的时间?
- 2. 如何在客户端时区显示日期和时间
- 3. 显示日期/时间用户的时区 - 在客户端
- 4. Mysql PHP存储和显示购买时间为正确的用户时区
- 5. 如何显示客户端时区和时区缩写?
- 6. 红宝石在轨道上,如何正确显示客户端的时间?
- 7. 如何为移动客户端显示带时区的时间戳
- 8. PHP Unix时间人力时间从MySQL表显示不正确
- 9. 如何根据客户端时区向用户显示日期
- 10. PHP时区转换/ PHP日期不显示正确的时区
- 11. 记录时间在客户端与客户端时区
- 12. 显示MySQL的时间戳正确
- 13. 如何根据用户客户端(灯)显示时间和日期
- 14. 正确的时间显示
- 15. 如何获得客户端的时区
- 16. 张贴客户端的RAW身体
- 17. 在ASP.NET MVC中显示客户端时区中的日期时间
- 18. 如何正确显示时间戳
- 19. PHP中的客户端时间
- 20. 检测用户时区并显示该时区的UTC时间
- 21. 如何获得客户端时区
- 22. 如何检测客户端时区?
- 23. 客户端unix时间有多准确?
- 24. PHP的时区显示正确小时,但没有秒和分
- 25. 如何在mysql中正确更新时区到东部时间?
- 26. 是客户端JavaScript计算相对于用户时区的Unix时间戳吗?
- 27. PHP:根据用户的时区显示时间
- 28. 如何取得Date();在JavaScript中显示时间是正确的?
- 29. 如何获得正确的时区的客户
- 30. 时间戳/时区/ PHP/MySQL
使用getTimezoneOffset();' – splash58
我具有低使用javascript的经验。我可以用客户端PC(设备)时区的javascript获取,并将其作为字符串值(如“欧洲/布鲁塞尔”)分配给PHP变量? –
不,你不能得到时区名称,因为他们中的许多人都有相同的时间转换。但是你可以通过js或者将它发送到你的服务器来改变时间和改变 – splash58