這到底如何?關於堆棧溢出的問題,我想要做的事情有很多。然而所有的解決方案都是編輯MYSQL查詢,我需要從PHP內部完成。PHP - 基於時間的數學計算
我在另一個問題上了解了strtotime(' - 30 days')方法並嘗試了它,但我無法得到任何結果。這裏就是我想:
$current_date = date_create();
$current_date->format('U');
... mysql code ...
$transaction_date = date_create($affiliate['Date']);
$transaction_date->format('U');
if($transaction_date > ($current_date - strtotime('-30 days'))) {
} else if(($transaction_date < (($current_date) - (strtotime('-30 days'))))
&& ($transaction_date > (($current_date) - (strtotime('-60 days'))))) {
}
實際上,我想所有的排序基於日期在數據庫中的數據,如果數據庫條目已在最近30天發佈,我想執行一個函數,然後我想查看數據庫條目是否超過30天,但不超過60天,並執行更多操作。
這個時代的數學真的很奇怪,你會認爲獲得當前時代的紀元,數據輸入的時代以及30和60天前的時代將足夠做我想做的事情,但由於某種原因,它無法正常工作,即使我將數據庫中的日期設置爲去年,所有事情都會以不到30天的時間返回。
'date_create(date(...))'完全沒有意義。你讓PHP從'time()'獲取當前時間戳,將其格式化爲字符串'date(...)',然後使用date_create將其解析爲時間戳/對象。如果你想「現在」,所有你需要的是'date_create()'。 – 2014-11-04 17:54:02
好的,謝謝你提供的信息,但我仍然對數學部分感到困惑。 – Hobbyist 2014-11-04 17:55:11
「我需要從PHP內部完成」?爲什麼?如果你是MySQL查詢,*使用mysql的日期過濾器*來獲得你的範圍。除非你可以想出一個無法實現的真正可靠原因(並且如果你可以查詢mysql,那麼你就可以這麼做),沒有理由試圖迫使一個方形釘子通過圓孔。 – 2014-11-04 17:56:52