Номер приращения Javascript .. пропуская логика - PullRequest
0 голосов
/ 27 февраля 2011

здесь нужна логика или алгоритм:

Я хочу использовать javascript для реализации простого счетчика, который добавляет rand () int каждый день (игнорируя загрузки страниц) и сохраняет это число без использования какой-либо базы данных ..Это не так, начиная с 0, но оно должно расти с каждым днем.Пример: 2050. Следующий день: 2053 .. и т. Д.

Я думаю использовать функцию даты javascript, так как год увеличивается, а числа месяца увеличиваются (каждый год), но дни установлены на 1 каждый месяц.. Так что есть идеи, какой алгоритм или функцию javascript я мог бы использовать для реализации этого?

Было бы идеально иметь функцию rand (), которая увеличивает только, но каждый день, не каждую загрузку страницы. Вероятно,это глупый вопрос, но сейчас суббота, и мой мозг больше не работает .. :) Большое спасибо!

Обновление: getTime () вроде как делает, но дает мне что-то вроде 8176870165464, там последние цифрымиллисекунды, поэтому они меняются слишком часто ... Мне нужно увеличивать +1 или +3 (или относительно небольшое значение int) каждый день ... и конечный счетчик должен быть 4 цифры, что-то вроде 2040, а не 345346345355

Ответы [ 4 ]

2 голосов
/ 27 февраля 2011

Вы можете использовать текущую дату. Чтобы увеличить его, просто вычислите количество дней, прошедших с данного дня в прошлом.

1 голос
/ 27 февраля 2011

Если вам просто нужен номер, который увеличивается каждые 24 часа, используйте текущее время.Date.getTime() в javascript возвращает количество миллисекунд с 1970 года. Это всегда будет расти, если вы хотите, чтобы оно менялось каждые 24 часа, просто разделите число, которое оно возвращает, на 24*60*60*1000.(Обратите внимание, что в случае високосных секунд и перехода на летнее время в день может быть больше или меньше 24 часов.)

0 голосов
/ 27 февраля 2011

Должно ли оно быть случайным?Или просто увеличивается?Следующее увеличивается на 1 каждый день:

date = Math.floor(Date().getTime() / (24*60*60*1000));

edit: заменил мод выше на div (или, по крайней мере, взломать, чтобы получить div, так как JS не поддерживает div)

Если это должно быть случайным (в смысле непредсказуемого), вам нужно сделать что-то вроде этого:

nr = nr * 100 + yourrandomfunction(nr,100)

Где yourrandomfunction возвращает случайное число, данное seed 'nr' и max'100'.Но, к сожалению, вам нужно построить это самостоятельно:

Заполнение генератора случайных чисел в Javascript

0 голосов
/ 27 февраля 2011

Должен ли номер быть глобально уникальным? Уникальный для пользователя? Может ли это повториться для пользователя?

В любом случае вам придется сохранить его в файле cookie или сохранить где-нибудь на вашем сервере. И если он находится на вашем сервере, то нет смысла генерировать его в Javascript, просто сделайте это на выбранном вами языке на стороне сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...