如何使倒计时的最终值成为新的起始值?

时间:2017-05-29 00:57:34

标签: php datetime countdown

我正在开展一个学校项目,我正在跟踪每周用户的推文频率。我有工作代码,但在每个1周结束时,我需要手动调整新的起始推文总数和未来一周的日期。

如何将其自动化,以便最终的推文数量成为新的首发推文数量,并在结束日期添加一周?我是否正确地使用下面的代码前进,或者我应该将这些最终的推文总值存储在数据库中?谢谢!

// Get current tweet total and calculate current count

$ptTotal = $ptObject->{'statuses_count'};
$ptStart = 572;
$ptCount = ($ptTotal-$ptStart);

// Set end date & convert to EST

$ptdatestr="2017-05-30 12:00:00";
$ptdate=strtotime($ptdatestr)+14400;

// Calculate time remaining

$ptdiff=$ptdate-time();
$ptdays=floor($ptdiff/86400);
$pthours=round(($ptdiff-$ptdays*86400)/3600);

// Re-set start value and add one week to countdown

if ($ptdiff <= 0) {
$ptStart = $ptTotal;
$ptdate = $ptDate + 604800; 
}

1 个答案:

答案 0 :(得分:0)

我说无论你如何自动化这个代码块(参见Alejandro的评论),你都应该放弃使用包含+86400(或因子)的任何方法。当涉及夏令时时,事情会在晚上发生。但

相反,我建议您整合DateTime objects。它们功能多样,具有特定功能,可以帮助您完成特定项目。这是相关功能的完整列表:http://php.net/manual/en/book.datetime.php

实施Datetime对象和功能将使您的项目稳固和精益。沉浸在上面的php手册页和随后的评论中;并继续研究StackOverflow。

更多您的具体问题:是的,我认为您走的是正确的道路。是的,我想我会将数据存储在数据库中。

祝你好运。