我在php中有關於日期的緊急問題。我想在特定日期之前查詢某些記錄的數據庫,例如我想在30天內記錄,所以首先是我得到當前日期,並且我想計算日期範圍的另一端,我該怎麼做?我需要在MySQL查詢或在PHP中做到這一點?非常感激!如何在php中生成日期
回答
你可以很容易地在mysql中做到這一點。
例如。
SELECT * from myTable where date_column > date_sub(now(), interval 30 day);
now()或CURRENT_TIMESTAMP - >會給你一個當前日期的值。 date_sub
和date_add
是用於從給定日期加上或減去間隔 的函數。
文檔瀏覽: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-add
您可以生成PHP這樣的當前日期:
$current_date = date("Y-m-d"); // the output will be in the format YYYY-MM-DD
echo $current_date;
您可以瞭解更多關於PHP日期和時間格式在這裏:http://php.net/manual/en/function.date.php
你可以還使用WEEK()和MONTH()從DB表中選擇某些行。我昨天問了一個有關它的問題:MySQL: Select data from a table where the date falls in the current Week and current Month
希望它解決了你的問題。
在php中構建間隔通常被認爲是比使用MySQL內置函數(如NOW()
)更好的做法。這有一個很好的理由。
假設您使用查詢使用NOW()
(SELECT t.foo, t.bar FROM table t WHERE created_at > DATE_SUB(NOW(), interval 30 day);
)。該函數返回一個精確到最後一秒的日期(例如'2006-04-12 13:47:36'
)。緩存這個查詢是沒有用的,因爲它僅僅是這個1秒的時間值得。
大多數應用程序幾乎不需要這個級別的準確性,通常1天的準確性就足夠好了。您已經可以看到,以較低的準確性構建查詢會更有利,因爲結果首次被緩存,並且任何後續查詢都會在緩存中一整天。
這裏是PHP
$pdo = new \PDO($dsn, $db_user, $db_pass);
$sql = 'SELECT t.foo, t.bar FROM table t WHERE t.created_at >= ?';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(1, date('Y-m-d', strtotime('-30 days')));
$stmt->execute();
一個例子有關PDO的更多信息,請看看documentation
- 1. 在PHP中生成日期
- 2. 在PHP中生成日期字符串
- 3. 如何生成日期付款日期
- 4. 如何生成日期
- 5. 如何生成日期在SQL Server
- 6. PHP生成日期 - > Javascript倒計時
- 7. F#生成日期
- 8. Asp.net日曆 - 生成日期
- 9. 算法 - 如何生成日期結構?
- 10. ASP.Net MVC如何生成日期列表
- 11. MongoDB:如何生成本地日期?
- 12. 如何使用php自動生成日期?
- 13. 如何從xml文件生成php動態日期?
- 14. 如何生成過去的隨機日期?使用PHP的
- 15. 如何用php生成一個日期數組?
- 16. 如何生成日期系列以在谷歌BiqQuery中佔據缺席日期?
- 17. 如何從日期字符串生成範圍日期在Python中?
- 18. 如何在Excel中的三個單獨列中生成日期?
- 19. 在JodaTime中生成日期範圍
- 20. 在Hive SQL中生成日期
- 21. 在xsl中自動生成日期
- 22. 把生成日期放在框中
- 23. 在Imagemagick中生成日期戳圖像
- 24. 在Python中生成一週的日期?
- 25. 如何生成兩個日期之間的所有日期
- 26. 在PHP中轉換從fullcalendar生成的日期時區問題
- 27. 在php中生成前七天的日期
- 28. 如何在計劃中生成缺失的日期?
- 29. 如何在objective-c中生成一個隨機日期?
- 30. 如何在SQL查詢中生成日期?
這取決於你是否保存日期在你的數據庫作爲UNIX時間戳或作爲MySQL的DATE( TIME)類型 – knittl
是的,我在mysql中存儲日期類型字段 – Michael