Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Увеличивать число в n% (https://javascript.ru/forum/misc/38130-uvelichivat-chislo-v-n%25.html)

Vyrd 20.05.2013 21:24

Увеличивать число в n%
 
Здравствуйте господа специалисты!

Прошу у вас помощи. Может быть плохо искал...но подходящего не нашел((

Нужен скрипт который будет увеличивать число X на n% каждый день в 00-00.

Может быть у кого-нибудь есть подобный?

dmitriymar 20.05.2013 21:29

Цитата:

Сообщение от Vyrd
Нужен скрипт который будет увеличивать число X на n% каждый день в 00-00.

число х для всех одинаковое?
да? - увеличивать на сервере
что такое "каждый день"? -пояса часовые у всех разные

Vyrd 20.05.2013 21:35

Да, например пишем 134 456 и от этого числа идет увеличение.

да, на сервере. через 24 часа по времени сервера.

dmitriymar 20.05.2013 21:37

Цитата:

Сообщение от Vyrd
Да, например пишем 134 456 и от этого числа идет увеличение.

да, на сервере. через 24 часа по времени сервера.

ну дак значит, это всё нужно и делать на сервере, и искать ответ на форумах по серверным языкам

Deff 20.05.2013 21:48

var setDate0 = '31.12.2012'.split(/=|\.|\//); //Дата отсчета
var N = 1; //Начальное число
var n = 102; //Eжедневные % прироста;
var Time0 = new Date(setDate0[2],+setDate0[1]-1,setDate0[0]).getTime();
var thisTime = new Date().getTime();
var days_passed = parseInt((thisTime - Time0)/(1000*60*60*24))
var Nout = N*Math.pow(n/100,days_passed)
alert(Nout)

мон привязать к UTS
Но на серве имхо кошерней!

dmitriymar 20.05.2013 21:54

Ситуация: зашел новый человек на сайт, а как было сказано выше, число одно для всех и смена по гринвичу одинаковая для всех.
Браться будет, в любом случае, с сервера .
Поскольку на сервере уже увеличено, на клиенте нечего уже увеличивать.
Серверная и только серверная реализация в любом случае.

Vyrd 22.05.2013 11:49

ulkjlkjlkjlkjl

Deff 22.05.2013 11:58

Цитата:

Сообщение от Vyrd
а можно сделать чтоб результат увеличения через каждый час происходил?

var setDate0 = '20.05.2013'.split(/=|\.|\//); //Дата отсчета
var N = 1; //Начальное число
var n = 102; //Почасовое увеличение => (2%)
var Time0 = new Date(setDate0[2],+setDate0[1]-1,setDate0[0]).getTime();
var thisTime = new Date().getTime();
var ur_passed = parseInt((thisTime - Time0)/(1000*60*60))
var Nout = N*Math.pow(n/100,ur_passed)
alert(Nout)

danik.js 22.05.2013 12:09

Цитата:

Сообщение от Deff
Но на серве имхо кошерней!

Не кошерней. Просто - правильно. А на клиенте - это через жопу скорее всего. Особо не вникал, но судя по всему так оно и есть.

Vyrd 22.05.2013 12:22

спасибо Deff за пример!

Допустим часовой пояс не важен, у каждого будет по своему времени считаться.

Вот на моем скрипте как можно переделать секунды в часы...т.е. чтоб прибавление шло через каждый час на сумму из var targetnumber


Часовой пояс GMT +3, время: 01:03.