javascript中不同时区的timeago时间
我使用timeago javascript插件计算用户创建帖子所经过的时间。问题是,当用户创建一个新帖子时,timeago函数开始显示从“10小时”到“刚刚”的时间。我认为这是因为我数据库中的时间存储在与用户时区不同的时区 你知道怎么解决这个问题吗 经过一些研究,我发现时间戳的格式必须是ISO8601,但测试后不起作用 下面是我显示时间的代码javascript中不同时区的timeago时间,javascript,jquery,Javascript,Jquery,我使用timeago javascript插件计算用户创建帖子所经过的时间。问题是,当用户创建一个新帖子时,timeago函数开始显示从“10小时”到“刚刚”的时间。我认为这是因为我数据库中的时间存储在与用户时区不同的时区 你知道怎么解决这个问题吗 经过一些研究,我发现时间戳的格式必须是ISO8601,但测试后不起作用 下面是我显示时间的代码 <?php foreach ($postsArray as $v1) {
<?php
foreach ($postsArray as $v1)
{
?>
<article>
<header><h3><?php echo $v1->TITLE; ?></h3> </header>
<p><?php echo $v1->CONTENT; ?></p>
<?php
$timestamp = $v1->TIME;
$formatedDate = date("c",strtotime($timestamp));
?>
<footer><b>Author:</b> <?php echo $v1->USERNAME; ?> <b>Published:</b> <time class="timeago" datetime="<? echo $formatedDate; ?>"></time></footer>
</article>
<?php
}
?>
作者:发表:我更喜欢《瞬间js》)
您可以检查数据库时间戳以及在服务器和客户端上可以获得的数据。比较一下,你会发现哪里是错误的时区。这里是jquery timeago的作者
,需要一个时间戳,才能使一切按timeago中的预期工作(时区自动处理):
如果您没有提供timeago函数的代码,则无法回答此问题。请始终在数据库中以UTC格式保存日期/时间值。我已添加了代码!
<script type="text/javascript">
$(document).ready(function(){
$('time.timeago').timeago();
});
</script>
<time class="timeago" datetime="2008-07-17T09:24:17Z">July 17, 2008</time>
$time->format(DateTime::ISO8601);