嗨大家我堅持這一點:我想擦除過去數據庫上的記錄。我只是想考慮月和日。例如,如果數據庫記錄是(這是如何格式化數據庫)「2013年4月5日」我需要將它與今天的日期「2013年4月6日」進行比較。在這種情況下,該記錄被刪除。我看過使用UNIX時間戳的例子,但沒有一個使用date('M j Y')的格式。謝謝!當數據庫上的日期格式是「2013年4月5日」時比較PHP上的兩個日期
0
A
回答
0
在數據庫中存儲日期的更好方法是使用DATE或DATETIME格式。 SQL允許您從這些類型獲取所需的所有信息。但是這樣的請求應該起作用。
你可能最終與正則表達式做到這一點,但它會很沉重......
但你可以做到這一點在PHP中,讓所有的結果,那麼他們瀏覽和使用類似strtotime
比較日期時,然後刪除每個ID。仍然很重,但比在SQL請求中更容易實現。但是如果你能改變SQL體系結構,它仍然會更好。
0
我想嘗試的方法是使用strtotime()將英文文本字符串轉換爲unix時間戳,然後將新時間戳與當前日期進行比較。這裏有一些描述這種方法的php僞代碼。
$threshold_to_deletion = numbers of days old a record is allowed to be;
$is_it_yesterday = 0;
$current_date = new DateTime();
$current_date->getTimestamp();
if (!($is_it_yesterday = strtotime($str_from_db)) === false) {
$date_interval = date_diff($is_it_yesterday, $current_date);
if($date_interval >= $threshold_to_deletion) {
Do stuff here to delete
}
} else {
echo "DB string is not a valid date: $str_from_db";
}
請注意,它沒有完成或測試,它只是在那裏鬆散地描述它將如何完成。我希望這有幫助。
蒂姆·杜馬斯
相關問題
- 1. Java比較兩個日期年,月,日
- 2. 時刻不格式化這個日期2016年5月4日
- 3. 日期,月日,年的日期格式
- 4. 比較當前日期和上個月的日期
- 5. 日期將2013年4月1日而不是2013年3月31日
- 6. sed匹配日期格式2013年4月25日
- 7. 如何與另一日期(月/年)比較日期(月/年)
- 8. 變化日期格式2013年6月5日00:00:00到毫米/日/年
- 9. 比較兩個日期並獲得年,月,日的差異
- 10. SQL日期格式轉換從2013年4月1日00:00:00.000,以2013年4月1日12:00:00
- 11. 比較MySQL的時間字段和PHP日期(年月日)
- 12. 日期格式日期月 - 年
- 13. 如何根據日期,月份和年份比較Cakephp中的兩個日期
- 14. 日期比較星期和年格式
- 15. JavaScript的日期格式爲日/月/年
- 16. PHP比較兩個日期
- 17. php - 比較兩個日期
- 18. 將日本的日期格式(2013年11月24日)轉換爲正常日期格式(2013-11-24)
- 19. 日期和時間2017年5月19日星期五,並與當前日期比較
- 20. 以下格式的比較日期:2012年8月20日星期三10:14
- 21. 比較日期和時間的PHP日期格式?
- 22. 比較基於年份的兩個日期,不考慮日期
- 23. 基於PHP中的上一日期的日期時間比較
- 24. 日期的Java日期格式字符串「2013年1月2日星期三下午5:29:26 +02:00」
- 25. 數據庫日期和當前日期的比較
- 26. 數據庫與當前日期的日期比較
- 27. 日期格式和比較日期
- 28. 比較日期 - 日期格式問題
- 29. JS日期格式和日期比較
- 30. 月,年中beween兩個日期當一個日期爲null