Tôi có ngày sinh trên trang web của mình theo định dạng 12.01.1980
.Tuổi hiện tại của người tính toán PHP
$person_date (string) = Day.Month.Year
Muốn thêm độ tuổi của người đó. Giống như "Hiện tại 30 năm" (2010 - 1980 = 30 năm).
Nhưng makin chức năng chỉ trên năm không thể đưa ra kết quả hoàn hảo:
Nếu người ngày tháng năm sinh là 12.12.1980
và ngày hiện tại là 01.01.2010
người không có 30 tuổi. Đó là 29 năm và một tháng.
Có phải là một tính toán trên nhắm mục tiêu cả năm, tháng và ngày tháng năm sinh với so sánh ngày hiện tại:
0) Phân tích các số ngày.
Birth date (Day.Month.Year):
Day = $birth_day;
Month = $birth_month;
Year = $birth_year;
Current date (Day.Month.Year):
Day = $current_day;
Month = $current_month;
Year = $current_year;
1) năm so sánh, 2010-1980 = ghi "30" (để cho nó được $total_year
biến)
2) so sánh những tháng, if (ngày tháng năm sinh tháng lớn> hơn tháng hiện tại (như 12 khi sinh và 01 hiện tại)) {trừ đi một năm từ $total_year
biến (30 - 1 = 29)}. Nếu làm trừ đi xảy ra, kết thúc tính toán tại thời điểm này. Khác đi tiếp theo (3 bước).
3) else if (birth month < current month) { $total_year = $total_year (30); }
4) else if (birth month = current month) { $total_year = $total_year (30); }
và kiểm tra ngày (ở bước này):
if(birth day = current day) { $total_year = $total_year; }
else if (birth day > current day) { $total_year = $total_year -1; }
else if (birth day < current day) { $total_year = $total_year; }
5) echo $ total_year;
Kiến thức php của tôi không tốt, hy vọng bạn có thể trợ giúp.
Cảm ơn.
Đếm ngày giữa ngày sinh và bây giờ, nhân với 4, chia cho 1461 (thay vì chia phân cách bằng 365,25)? – pascal
nó sẽ cung cấp cho một câu trả lời đúng? – James
@pascal: bạn sẽ đếm số ngày như thế nào? – Svish