我必須在30天后發出通知。如何計算天數的持續時間?
foreach ($pdo->query($sql) as $row) {
$date = date_create($row['data']);
$laikotarpas = date_diff(new DateTime("now"), $date);
// var_dump($liko);
$liko = 30 - $laikotarpas->d;
我想在幾天內得到正確的結果。 我曾在2014年3月19日添加了一行,這說明離開3天至30
我的目標是實現: 我在2014年3月19日添加記錄,並得到結果有多少天,從今天通過。我認爲$ laikotarpas-> d給出了一個持續時間,但是,當我做了計算來設置30天的限制。 所以我的主要問題是要得到正確的$ liko,但我不知道如何。 我加入使用此代碼(使用PDO)我時間:
$q->execute(array($name,
date("Y-m-d H:i:s", time())
);
在我的數據庫我使用DATETIME。我打印這個日期從SQL使用此PHP:
<?php echo date_format(date_create($data['data']), 'Y-m-d'); ?>
我的方式很好嗎?如何改善?
----- -----編輯
我不得不使用PHP5.2
只是有一個想法,它只需幾天,而忽略月過去了計數。如何更新以僅在幾天內計算持續時間?
但如何計算幾天來限制它們。例如,我想在從記錄添加到數據庫之後的30天前(通過25天后發送電子郵件)通知我的客戶5天。 – pvaitonis
順便說一下,我使用php 5.2 – pvaitonis
@pvaitonis你應該選擇客戶在你的MySQL查詢的30天之前5天聯繫,而不是在PHP中進行。只需選擇合適的客戶發送到MySQL中,然後使用PHP進行發送(如果需要,再次使用PHP驗證日期),從而最大限度地減少發生錯誤的可能性。 –