2017-05-29 5 views
1

私は週にユーザーのtweeting頻度を把握している学校プロジェクトに取り組んでいます。私は作業コードを持っていますが、各1週間の終わりに、新しい開始ツイートの合計と、将来の1週間の日付を手動で調整する必要があります。カウントダウンの最終値を新しい開始値にするにはどうすればよいですか?

最後のツイートカウントが新しい開始ツイートカウントになり、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

ここに2つのオプションがあります。リクエストごとに、最初の日付以降の週数を計算して更新します。もう1つの方法は、カウントと日付を再起動するPHPスクリプトを呼び出すためにCRONジョブ(毎週など)を使用することです(この最後のオプションはウェブサーバーではなくUNIXの機能です)。 CRONジョブの設定方法についてはhttps://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-jobをチェックしてください。もちろん、データを保持したい場合は、データベース管理エンジン(MySQLなど)を使用する必要があります。プレーンなファイルも使えますが、それはあなた次第です。 –

+1

@mickmackusa答えのように "感じる"場合でも、真実は私は正しく答えていないです:それはOPのためのいくつかの研究を指しているだけです。私は、例えば、彼が彼のカウントに必要な特定の週を追加する方法(それは質問の一部です)に答えるのではありません。だから私は、コメントがより適切になるように感じました。質問には不完全な感じがあります(彼は何を試していますか?わかりません...)。同じ考えです。元の質問のすべての部分に答えることができないため、コメントはおそらく適切です。 –

答えて

0

私は(アレハンドロさんのコメントを参照してください)、あなたは+86400(または因子)を含む任意のアプローチを使用してから離れて移動する必要がありますに関係なく、あなたは、このコードブロックを自動化する方法の言います。夏時間がかかる夜には物事はBONKになります。

代わりにDateTime objectsを統合することをお勧めします。彼らは非常に汎用性が高く、あなたの特定のプロジェクトであなたを助ける特定の機能を持っています。 http://php.net/manual/en/book.datetime.php

日時オブジェクトと関数を実装すると、プロジェクトは実に堅実になります。上記のPHPのマニュアルページとそれに続くコメントに浸りましょう。 StackOverflowについての研究を続けます。

ご不明な点がありましたら、はい、あなたは正しい道にいると思います。はい、データベースにデータを保存すると思います。

幸運。

+0

ありがとうミック私はDateTimeの機能を調べます – mimics

関連する問題