我正在开展一个学校项目,我正在跟踪每周用户的推文频率。我有工作代码,但在每个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;
}
答案 0 :(得分:0)
我说无论你如何自动化这个代码块(参见Alejandro的评论),你都应该放弃使用包含+86400
(或因子)的任何方法。当涉及夏令时时,事情会在晚上发生。但
相反,我建议您整合DateTime objects。它们功能多样,具有特定功能,可以帮助您完成特定项目。这是相关功能的完整列表:http://php.net/manual/en/book.datetime.php
实施Datetime对象和功能将使您的项目稳固和精益。沉浸在上面的php手册页和随后的评论中;并继续研究StackOverflow。
更多您的具体问题:是的,我认为您走的是正确的道路。是的,我想我会将数据存储在数据库中。
祝你好运。