Форум: "Прочее";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
ВнизЗнатокам PHP Найти похожие ветки
← →
**Сергей** (2006-03-05 03:17) [0]Имеется строка 03.05.1980
Нужно на PHP определить, сколько прошло полных лет от сегоднешней даты.
← →
**Сергей** (2006-03-05 06:50) [1]Кажется, нашел
$daysGone=abs(ggToJD($birthMonth, $birthDay, $birthYear)-ggToJD(date("m"), date("d"), date("Y")));
← →
mfender © (2006-03-05 07:56) [2]
> $daysGone=abs(ggToJD($birthMonth, $birthDay, $birthYear)-
> ggToJD(date("m"), date("d"), date("Y")));
Сам-то понял, что написал?
Это отличное решение - ggToJD :))) Только не в PHP такой ф-ции... Да и из строка надо как-то date("d"), date("m") и date("Y") вычислить...
<?php
$date = explode(".", "03.05.1980"); //предполагаем, что строка имеет всегда правильный формат
$actualTime = time();
$indicatedTime = gmmktime(0, 0, 0, (int)$date[1], (int)($date[0]), (int)($date[2])); //Получим timestamp времени из строки
$calculatedTime = $actualTime - $indicatedTime; //Разница между текущим временем и указанным в пресловутой строке в секундах:
//Теперь можно, например, это количество секунд разделить на количество секунд в году:
$calculated = floor($calculatedTime/31536000);
?>
← →
mfender © (2006-03-05 07:58) [3]Разумеется, тут нужно идти немного другим путём, и считать количество секунд в году не по календарю. Но смысл таков.
← →
**Сергей** (2006-03-05 08:30) [4]Мой пример работает. Я забыл вставить функцию
function ggToJD($month, $day, $year)
{
if($month<3)
{$month+=12;$year-=1;}
$jd=$day+floor((153*$month-457)/5)+365*$year+floor($year/4)- floor($year/100)+floor($year/400)+1721118.5;
return($jd);
}
← →
mfender © (2006-03-05 09:02) [5]
> $day+floor((153*$month-457)/5)+365*$year+floor($year/4)-
> floor($year/100)+floor($year/400)+1721118.5;
Что сие означает? Я что-то не догоню никак... Вобщем, хотелось бы комментариев.
← →
**Сергей** (2006-03-05 10:59) [6]Ф-ия переводит дату из григорианского календаря в юлианский. Затем узнаем количество прожитых дней а потом и лет.
← →
mfender © (2006-03-05 14:02) [7]
> Ф-ия переводит дату из григорианского календаря в юлианский.
А зачем? 8^o
← →
**Сергей** (2006-03-05 14:18) [8]Я когда-то писал это для скрипта который строит биоритмы. Там это требовалось.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c