- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个典型的 php/html/javascript 应用程序。有一个主要的 HTML 页面,其中包含大量 JavaScript 和 AJAX 调用 PHP 来接收/发送数据。
除此之外,该应用程序还会跟踪某些用户操作,记录操作内容以及操作的时间戳。我在 javascript 中获取时间戳为 new Date().getTime()
。我将操作日志发送到服务器,服务器使用 $dt = date('h:i:s', timestamp/1000)
来获取人类可消化的时间。 (请注意,出于打印目的,我只对时间元素感兴趣,但我需要将完整的日期/时间存储在数据库中以供以后审核。)
我的客户可以位于世界任何地方。我注意到,当我对从客户端收到的时间戳调用 date
时,服务器会应用服务器所在位置的时区偏移量(很可能是来自 php.ini 的默认时区)
)。因此,如果伦敦的客户端传递 10:00:00 的时间戳,则服务器打印的时间最终为 2:00:00,因为服务器位于加利福尼亚。
我可以轻松发送时区 UTC 偏移量和数据(即 new Date().getTimezoneOffset()
的值)。但是我不太明白应该如何使用这个时区偏移来为客户端获得正确的打印输出。这可能是获取默认 tz 和使用客户端的 tz 的某种组合 - 但我就是无法理解它。
我想要的只是 10:00:00 的时间戳显示为 10:00:00,无论客户端或服务器在哪里。
最佳答案
只需设置您正在工作的时区的时间,然后将其更改为用户的时区:
$date = new DateTime(null, new DateTimeZone('america/los_angeles'));
$date->setTimeZone(new DateTimeZone('user/timezone')); // user timezone. this one is clearly fake.
echo $date->format('H:i:s');
您可以通过以下方式从偏移量获取用户的时区 this question/answer :
$offset = -10;
$tz = timezone_name_from_abbr(null, $offset * 3600, true);
if($tz === false) $tz = timezone_name_from_abbr(null, $offset * 3600, false);
echo $tz;
关于javascript - 从客户端提供的时间戳(和时区)获取正确的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25182756/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!