0

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

所以这是我的问题。我正在考虑构建一个浏览器游戏,我对 PHP 和 MySQL 非常了解。但我唯一的麻烦(目前)是计时器。

我想做的事:

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

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

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

现在我真的不需要(如果它完成了,我当然会非常感激)任何人为我写它。已经非常感谢有关查看内容和位置的信息。

任何帮助将非常感激!

干杯,

克莱门茨

4

1 回答 1

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 所说的数据库中的列

于 2013-07-23T01:44:16.097 回答