我曾經使用代碼爲我的文件名創建一串數字以避免重複。它所做的是,它會給我一串準確的當前時間,這是非常準確的(如1/1000000000秒)。我不記得我是如何做到這一點的,因爲我只是複製並粘貼我的舊代碼。有誰知道如何做到這一點?如何根據當前時間使用javascript創建一串數字?
回答
在MDN上有關於Javascript Date
構造函數/對象的很好的參考。但基本上,在較老的環境中,確實如此。
new Date().getTime()
在新的環境中,你可以做
Date.now()
兩個返回Integer value representing the number of milliseconds since 1 January 1970 00:00:00 UTC (Unix Epoch).
你也可以做
new Date().valueOf()
但它可能不如以上那些可靠。
通過使用Date對象的getTime方法,您可以創建檢索從時期開始已經過去的毫秒數。
var now = new Date(); console.log(now.getTime());
['Unix timestamp'](http://en.wikipedia.org/wiki/Unix_time)不同。'自00:00:00開始經過的秒數協調世界時(UTC),星期四,1 1970年1月'。您必須將JavaScript時間戳除以1000才能獲得秒數。 – Xotic750
你說得對,這是錯誤的詞,我正在更新答案。 – ruedamanuel
JavaScript中的當前時間僅提供給毫秒數。如果一次生成多個文件名,則在同一操作中多次請求時可能會獲得相同的當前時間。因此,如果您想要一個完全唯一的編號(具有比當前毫秒更多的唯一性,因此您可以在緊密的循環中生成其中的一些),您可以將時間與隨機生成的值組合如下:
function makeUnique(base) {
var now = new Date().getTime();
var random = Math.floor(Math.random() * 100000);
return base + now + random;
}
makeUnique("test");
工作演示:http://jsfiddle.net/jfriend00/dpZLC/
如果你想要的文件名始終是相同的位數,就可以零填充隨機數是這樣的:
function makeUnique(base) {
var now = new Date().getTime();
var random = Math.floor(Math.random() * 100000);
// zero pad random
random = "" + random;
while (random.length < 5) {
random = "0" + random;
}
return base + now + random;
}
- 1. 如何使用當前時間創建一個隨機數
- 2. Bash:根據「允許字符串」檢查當前日期時間
- 3. 如何使用JavaScript創建一個字符串的字符串?
- 4. PHPUnit的,測試使用類字段根據當前時間
- 5. 如何根據當前時間設置自動文件名創建者?
- 6. 如何根據當前字段的條件創建列並填寫數據
- 7. 如何使用當前url字符串創建img名稱?
- 8. 如何根據當前時間設置鬧鐘時間?
- 9. 如何根據當前時間在sql中排序時間?
- 10. 如何使用javascript創建時間戳
- 11. 如何根據一列中的時間間隔創建一個ID字段
- 12. 如何根據字符串值動態創建JavaScript變量?
- 13. 當前時間作爲字符串創建文件
- 14. 如何使用jQuery根據用戶輸入創建javascript數組
- 15. 如何根據當前語言使用Laravel格式化數字
- 16. 根據當前日期在XSLT中創建唯一編號時間
- 17. 根據用戶當前時間輸出文本的JavaScript
- 18. 如何用Javascript更改當前時間
- 19. 根據當前日期創建目錄
- 20. 如何根據Metro-UI中的當前時間禁用日期
- 21. 根據當前時間添加新列
- 22. 如何根據時間創建時間表
- 23. Javascript如何從日期時間字符串正確創建DateObject?
- 24. 根據字符串創建一個唯一的整數
- 25. 如何使用JavaScript創建JQuery數據
- 26. 如何根據當前時間戳在mysql數據庫中創建動態變化的表格
- 27. 如何根據當前日期時間獲取當前和下一個日期時間記錄?
- 28. 使用Javascript當前時間功能
- 29. 如何根據當前月份和年份創建mysql表名
- 30. 根據當前月份創建上個月的數據
['新的Date()的getTime() '](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_對象/日期)返回整數值,表示從1970年1月1日00:00:00 UTC(Unix Epoch)開始的毫秒數.' – Xotic750
你是男人。 –