mysql中如何做倒计时_如何使用PHP和MySQL显示时间倒计时

恕我直言,当你在考虑比较时间时,你会自动开始谈论Unix时间.从本质上讲,Unix时间是以秒为单位的计数,总是递增.如果你有2个Unix时间戳,那么你可以使用简单的算法来计算差异,然后将差异转换为人类可读的形式.

请注意,Unix时间戳在几乎所有编程语言中都很常见,因此您可以选择是在PHP,MySQL还是JavaScript中执行此操作,并且它们都可以采用相同的方式.我将向您展示PHP版本.

所以你想这样做:

>查找目标事件的Unix时间戳

>将其存储在MySQL数据库中

>从数据库中检索

>获取当前的Unix时间戳

>减去差异

>乘法/除法以获得人类可读的格式

PHP代码:

//Unix timestamp to Dec. 21, 2012 (midnight)

$unix_time = mktime(0,0,0,12,21,2012);

//Connect to MySQL

//"INSERT INTO table (target_timestamp) VALUES ($unix_time);"

//----- user goes to page -----

//Connect to MySQL

$sql = "SELECT target_timestamp FROM table WHERE foo = bar";

$unix_time = do_query($sql);//do_query not defined, assume it gets the timestamp

$current_time = time();

$diff = $unix_time - $current_time

//$diff should be positive and not 0

if( 1 > $diff ){

exit('Target Event Already Passed (or is passing this very instant)');

} else {

$w = $diff / 86400 / 7;

$d = $diff / 86400 % 7;

$h = $diff / 3600 % 24;

$m = $diff / 60 % 60;

$s = $diff % 60;

return "{$w} weeks, {$d} days, {$h} hours, {$m} minutes and {$s} secs away!"

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值