我有一個註冊表單,我需要確認用戶年滿18週歲(用戶通過從3個下拉菜單中選擇值填寫出生日期,日,月, 年)。哪種做法最好? 我正在嘗試使用mktime並從當前日期減去出生日期,但無法正確顯示。PHP在註冊表格中比較日期
0
A
回答
0
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%y');
上面的代碼返回結果在幾年,您可以在一個條件循環歲月檢查,允許用戶註冊......
3
我會用DateTime,並遵循以下方針做一些事情:
<?php
$year = (int) $_POST['year'];
$month = (int) $_POST['month'];
$day = (int) $_POST['day'];
$now = new DateTime();
$dob = new DateTime("$year-$month-$day");
$age = (int) $now->diff($dob)->format("%y");
if ($age < 18) {
// Denied
}
使用日期通常是有問題的,由於邊緣情況,所以我覺得最好還是把它留給設計和開發的資料庫考慮邊緣案例的人。
+1
+1一個很好的答案。但是,請注意'DateTime-> diff()'方法僅適用於PHP5.3,所以如果您遇到5.2(或更糟!),則需要使用其他方法。 – Spudley 2011-05-18 10:25:55
相關問題
- 1. 在PHP中比較日期
- 2. 比較格式的日期在PHP
- 3. PHP - 比較日期
- 4. php日期比較
- 5. PHP比較日期
- 6. PHP比較日期
- 7. PHP:比較日期
- 8. PHP日期比較
- 9. PHP比較日期
- 10. PHP中的日期比較
- 11. 比較日期在PHP
- 12. 在PHP比較日期?
- 13. 在PHP中顯示註冊日期
- 14. 在PHP中比較兩個日期在
- 15. MIPS註冊比較
- 16. 在單元格中比較日期
- 17. 在PHP中的時間日期比較
- 18. 如何在PHP中比較日期
- 19. PHP比較日期在MySQL中sendmail的
- 20. 在php中比較日期和月份
- 21. 日期格式和比較日期
- 22. 比較日期 - 日期格式問題
- 23. JS日期格式和日期比較
- 24. 比較格式的日期
- 25. 格式的日期比較
- 26. PHP/MySQL的比較日期
- 27. 與PHP比較日期
- 28. PHP日期比較(2周)
- 29. PHP MySQL日期比較
- 30. PHP比較兩個日期
請發表你到目前爲止的代碼。 – 2011-05-18 10:15:56
什麼不工作?是減去給錯誤的年齡?你沒有從輸入中得到正確的日期嗎?你目前的日期錯了嗎?你需要明確什麼是不工作。 – paan 2011-05-18 10:21:55