2011-02-27 51 views
0

需要一些邏輯或算法在這裏:的Javascript增量number..missing邏輯

我想使用JavaScript來實現一個簡單的計數器,它增加了蘭特()中等每天(忽略頁面加載)並存儲數量,而不使用任何數據庫......它沒有從0開始,但它必須每天都在增加。例如:2050.第二天:2053 ..等等。

我在考慮使用JavaScript日期函數,因爲年份越來越多,月份數量越來越多(每年),但天數每個月都設置爲1個。因此,任何想法我可以使用什麼樣的算法或JavaScript函數實施這個?

這將是完美的rand()函數,它只增加,但每天,而不是每個頁面加載.. 也許這是愚蠢的問題,但它是星期六,我的大腦不再功能.. :)謝謝你許多!

更新:getTime()有點做的事情,但它給了我像8176870165464 smth,最後數字是毫秒,所以他們經常變化..我需要增加+1或+3(或相對較小的int ),並且最後的計數器是4位數,不像345346345355

回答

2

您可以使用當前日期。 爲了增加它,只需計算過去某一天以來的天數。

+0

哈,這就是我需要的!完全忘了計算日期,因爲給出日期..星期六正在對我工作..謝謝! – 2011-02-27 02:05:30

+0

不客氣。隨意設置答案爲「接受」;) – Cosmin 2011-02-27 02:08:19

+0

我會,等待有人拿出一個天才的算法:)你的解決方案很簡單,工程,概率將使用它:) – 2011-02-27 02:24:08

0

這個數字是否必須是全球唯一的?獨特的每個用戶?它可以重複用戶嗎?

無論採用哪種方式,您都必須將其存儲在Cookie中,或將其存儲在服務器上的某個位置。如果它在你的服務器上,那麼用Javascript生成它就沒有意義了,只要你選擇服務器端語言就可以了。

+0

它可以重複,所有用戶將看到每一天 – 2011-02-27 02:00:52

+1

相同數量的你應該張貼這些問題的評論。 – user113716 2011-02-27 02:01:21

+0

然後你絕對不想使用Javascript--這純粹是客戶端。你會讓每一個人打你的網站試圖產生一個號碼,並讓你的服務器記住它 - 只需在服務器上生成號碼並將其與網頁一起提供。公主, – 2011-02-27 02:02:03

1

如果您只需要一個每24小時增加一個數字,請使用當前時間。 javascript的Date.getTime()會返回自1970年以來的毫秒數。如果您只希望它每24小時更改一次,它將一直在增加,只需將它返回的數字除以24*60*60*1000即可。 (請注意,在閏秒和夏令時的情況下,一天中可能多於或少於24小時。)

+0

複製相同的評論:它給了我如8176870那樣,最後一個數字是毫秒,所以它們經常變化。我需要每天增加+1或+3(或相對小的整數)。如果我沒有最初指定,則需要增加.. – 2011-02-27 02:18:58

+0

如果你劃分那個數字通過24 * 60 * 60 * 1000它每天只會改變一次。 – SoapBox 2011-02-27 02:42:00

+0

給我15032.117803275463 – 2011-02-27 02:50:01

0

是否需要隨機?或者只是增加?

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

編輯:每天以下增加1代替MOD以上股利(或至少,一個黑客獲得一個div,因爲JS不支持格)

如果它需要隨機的(在不可預測的意義上),你需要做這樣的事情:

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

凡yourrandomfunction返回給定的種子「NR」和最大「100」一個隨機數。但不幸的是,你需要把這個建立自己:

Seeding the random number generator in Javascript

+0

我喜歡它,但它給了我像8176870,最後數字是毫秒,所以他們經常變化..我需要每天增加+1或+3(或相對較小的int)。 .sorry,如果我沒有指定最初.. – 2011-02-27 02:18:13

+0

嘿,愚蠢的錯誤,我用模數,而不是整數除法,我會解決它。 – markijbema 2011-02-27 02:37:46