|
|
|
|
|
для: kasmanaft
(25.01.2008 в 11:02)
| | Спасибо. То что нужно. | |
|
|
|
|
|
|
|
|
для: Саня
(25.01.2008 в 00:40)
| | Видел ))
Кстати, ф-цию которую я указал в посте от 21.01.2008 в 10:07 тоже работает отлично - день в день.
Еще один вопрос, а как сделать проще подписи к возрасту (лет, год, года), чтобы ставить их в соответствии с правилами русского языка? | |
|
|
|
|
|
|
|
для: Саня
(25.01.2008 в 00:40)
| | Отлично! Неплохо работает! Попользую! ) | |
|
|
|
|
|
|
|
для: kis-kis
(24.01.2008 в 20:01)
| | Мой пост в этой теме от 23.01.2008 в 10:27 вы видели? | |
|
|
|
|
|
|
|
для: cheops
(23.01.2008 в 13:49)
| | Получается никто не знает как это сделать?
Вот что пишут на другом форуме:
IF(YEAR(users.birthdate)>0, YEAR(NOW())-YEAR(users.birthdate)-IF(DAYOFYEAR(NOW())<DAYOFYEAR(users.birthdate),1,0), '')
|
Это правильно? | |
|
|
|
|
|
|
|
для: mihdan
(23.01.2008 в 10:34)
| | date() принимает дату в секундах, от 1970 года, а разницу дат она неадекватно обработает. | |
|
|
|
|
|
|
|
для: mihdan
(23.01.2008 в 10:34)
| | Ну-ну. | |
|
|
|
|
|
|
|
для: kis-kis
(20.01.2008 в 18:12)
| | Берем текущее время time() отнимаем timestamp даты рождения, ставим результат в date() | |
|
|
|
|
|
|
|
для: kis-kis
(20.01.2008 в 18:12)
| |
<?
// получаем дату для сравнения
$left_arr = explode("-", "1986-01-29");
$right_arr = explode("-", date("Y-m-d"));
// разница в днях
$return['d'] = $right_arr[2] - $left_arr[2];
if ( $return['d'] < 0 ) {
$right_arr[1]--;
$temp = date("t", mktime(0, 0, 0, $left_arr[1], 1, $left_arr[0])); // "t" - число дней в месяце
$return['d'] = $temp - $left_arr[2] + $right_arr[2];
}
// разница в месяцах
$return['m'] = $right_arr[1] - $left_arr[1];
if ( $return['m'] < 0 ) {
$right_arr[0]--;
$return['m'] += 12;
}
// разница в годах
$return['y'] = $right_arr[0] - $left_arr[0];
print_r($return);
|
или
SELECT (YEAR(CURDATE())-YEAR('1986-01-29'))-(RIGHT(CURDATE(), 5)<RIGHT('1986-01-29', 5));
|
| |
|
|
|
|