PHP和MYSQL游戏计时器比较

时间:2013-07-23 01:23:27

标签: php mysql events timer comparison

如果这个问题已经得到解答,我真的很抱歉。如果是这样,请将我重定向到正确的主题或网站。我无法找到我正在寻找的问题和答案。

所以这是我的问题。我正在考虑构建一个浏览器游戏,我很熟悉PHP和MySQL。但我唯一的麻烦(现在)是定时器。

我想做什么:

用户按下网页上的按钮(让我们说)升级建筑物或其他任何东西。 升级进度需要2个小时。我确实设法用PHP获得当前时间,我想我可以设法增加两个小时到那个时间。所以我可以将它存储在数据库中。 但我的问题是:

  • 如何格式化适合MySQL的PHP​​日期和时间? (我已经看过很多关于strtotime()和类似的方法,但我似乎无法掌握它,因为它并没有真正解决我的问题)
  • 我应该使用哪种类型的色谱柱?有很多类型,比如日期时间,时间戳等。
  • 在页面刷新时,我想从数据库中获取时间戳并将其与当前时间进行比较。所以我可以看看它是否已经过期。如果不是,我显示剩下多少天,小时,分钟或秒。 (我不需要真正倒数计时器的代码,这就是当我真的要编码时的东西)。

这也将用于资源和攻击等事情。 但首先我想知道这是否有可能以我的思维方式进行。 如果没有或者有更好的方式,比如用红宝石,蟒蛇或任何其他语言来做,我很想知道应该注意什么和哪里。我愿意学习其他语言来做到这一点。

现在我真的不需要(如果已经完成,我会非常欣赏它的当然)你们中的任何人都可以为我写这些。关于什么和在哪里看的信息已经非常受欢迎。

非常感谢任何帮助!

干杯,

克莱门兹

1 个答案:

答案 0 :(得分:2)

我使用DateTime类来在大多数时间格式化日期。

$date = new DateTime('NOW'); //'NOW' could be datetime from database
$formattedDate = $date->format("M j, Y, g:i A");

你可以通过以下方式获得时间差异:

$d1=new DateTime("2012-07-09 11:14:15");
$d2=new DateTime("2012-07-08 11:14:15");
$diff=$d2->diff($d1);
print_r( $diff ) ;

类DateTime的参考:http://php.net/manual/en/class.datetime.php

您可以使用@DaveChen

所述的数据库中的列