![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Mister U |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 6.12.2003 Где: Донецк Репутация: нет Всего: нет |
Хочу на сайте своем сделать отображение возраста зарегистрированных посетителей в днях. Вычислять только решил с учетом всех високосных годов. Никак не получается! Помогите разобраться, или подскажите как можно иначе сделать то, что я пытаюсь сделать, и прийти к нужному результату.
Дату рождения ставлю свою - 4 марта 1988. По состоянию на 31 августа 2004 года я живу 6023 дня (вручную посчитал... хех...). А мне мой скрипт говорит, что я живу 6001 день..
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 5 Всего: 454 |
=(mktime(одна дата) - mktime(вторая дата)) / 60 / 60 / 24;
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 5 Всего: 360 |
правила для високосного года:
# если делится на 4 (как у тебя в коде). # если делится на 100 то это НЕ високосный год # если делится на 400 то в любом случе високосный. if((y%4==0&&y%100!=0) || y%400==0) |
|||
|
||||
| Mister U |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 6.12.2003 Где: Донецк Репутация: нет Всего: нет |
Да, я знаю такой вариант, но не подходит! mktime() работает только с годами выше 1970 г. А если год рождения кого либо 1965 например?
|
|||
|
||||
| Mister U |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 6.12.2003 Где: Донецк Репутация: нет Всего: нет |
Всё, разобрался! Это была ошибка при вычислении прожитых дней в году рождения.
Вот правильный код.. если надо.. :
Это сообщение отредактировал(а) Admin - 31.8.2004, 20:26 |
|||
|
||||
| MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: 7 Всего: 32 |
mktime() вроде и с отрицательными значениями таймстемпов работает. Или я ошибаюсь?
-------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
| Mister U |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 6.12.2003 Где: Донецк Репутация: нет Всего: нет |
MuToGeN
я пробовал поставить год 1900 - мне вывелось какое-то кол-во дней (не помню), разделил на 365 - получилось 34,0562345234 (после запятой тоже не помню что было..), то бишь от 1970 г. |
|||
|
||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 10 Всего: 73 |
MuToGeN
http://ru.php.net/manual/ru/function.mktime.php -------------------- Теперь при чем :P |
|||
|
||||
| Mister U |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 6.12.2003 Где: Донецк Репутация: нет Всего: нет |
sergej.z
Стоп! А как же быть с 2000м годом? Он делится и на 100, и на 4, и на 400 |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 5 Всего: 360 |
Не я эти правила придумал 2000 делится на 400. Этого критерия достаточно, что бы считать его високосным (посмотри в if) |
|||
|
||||
| Mister U |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 6.12.2003 Где: Донецк Репутация: нет Всего: нет |
sergej.z
Но, заметь, на 100 делятся только годы, заканчивающиеся на 00. Например: 1900, 2000.. Потому что если, к примеру, разделить год 1978 (не високосный) на 100, будет 19,78 (запятую то бишь переносим), а делятся тока те годы, которые заканчиваются на 00... Это сообщение отредактировал(а) Mister U - 31.8.2004, 23:24 |
|||
|
||||
| sergejzr |
|
||||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 5 Всего: 360 |
?? Не понял
|
||||
|
|||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
А ты прибавь к годам по 80 лет и нет проблем |
|||
|
||||
| MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: 7 Всего: 32 |
Ясно. Я все на никсовом сервере отлаживаю. -------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |