![]() |
Прямой отсчёт от даты события
Уважаемые профессионалы, нужна ваша помощь.
Нашла в сети код для реализации во флэш прямого отсчёта даты (метрики). Код работает, но к сожалению считает только дни. Код:
// Создаём текстовое поле для отображения данныхЧто бы выглядело примерно так: "Со дня нашей свадьбы прошло: 5 лет, 8 месяцев, 24 дня" Поиск по форуму не дал результатов, в основном обсуждаются вопросы создания обратного отсчета времени и то только в днях, часах, минутах и секундах. Заранее огромное спасибо! С уважением, Согдиана. |
Код:
// Создаём текстовое поле для отображения данных А вообще... ну, а что нельзя просто по-человечески за неделю-две напомнить? %) |
wvxvw, большое спасибо за отклик. Ваша доработка кода действительно работает, но я обнаружила в ней следующие ошибки:
1. Неправильно склоняются падежи в числах месяца: 11, 12, 13, 14. Пишет вместо 12 (13, 14) дней - 12 (13, 14) дня, а вместо 11 дней - 11 день. 2. Каждый месяц до 29 числа считает правильно, а выше 29-го числа прибавляет ещё один лишний день. Точнее выглядит это так: В компе стоит системное время с сегодняшней датой, т.е. 23 декабря 2007 года. В коде, с учетом того, что отсчет месяцев начинается с 0 (нуля), текущая дата имела бы вид: 2007, 11, 23 Теперь, когда я для проверки выставляю в коде дату 23 декабря 2005 года (2005, 11, 23), по идее код должен выдавать результат равный ровно 2-ум годам, т.е. "Со дня нашей свадьбы прошло 2 года", но в этой ситуации результат получается "2 года 16 дней". В итоге получается, что код суммирует лишние 16 дней. Просьба, проверьте, в чем ошибка? Мои собственные попытки подкорректировать код не увенчались успехом. Заранее благодарна, Согдиана. |
В строке 46 вероятно ошибка:
var day = Math.floor(hour/22); Я так думаю, что необходимо исправить на: var day = Math.floor(hour/24); Правильно или нет? |
Код:
// Создаём текстовое поле для отображения данных Но, поверте, у противоположного пола всегда есть определенные проблемы с временем, днем недели... месяцем... это все равно не поможетЪ |
wvxvw, Вы гений. Протестировала новый код вдоль и поперек, работает безукоризненно и правильно (не считая, что вместо 21 (31, 41, 51...) год - выдает 21 (31, 41, 51...) лет. Но это уже не столь важно, за 21 год многое в технологиях изменится.
Мир не без добрых людей, убеждаюсь в этом в лишний раз! Огромное спасибо! |
Незачто %)
|
Класс, упрощающий подбор окончания.
Можно использовать не только для даты, но для других слов описывая массив вне класса по принципу ARRAY_NAME и используя метод getNameIndex Код:
class ru.inils.date.DateName {Код:
import ru.inils.date.DateName; |
Мож тогда уже с классом iNils'a?
|
А как это реализовать? Помогите пожалуйста собрать код. Я пытаюсь, но получается куча ошибок.
P.S. Я нечаянно удалила предыдущее своё сообщение. |
| Часовой пояс GMT +4, время: 06:28. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.