如何根據當前時間生成唯一編號
long id=new Date().getTime();
是當前時間的唯一的編號……
System.currentTimeMillis() 只是獲取當前的時間戳,單位是毫秒,但是這並不是唯一的.
如果你在1毫秒中進行了兩次操作,那麼這兩個ID就是相等的.
問題的解決看你要求的精度如何了.一般可以使用當前的時間戳作為Random發生器的種子.
比如Random ran = new Random(System.currentTimeMillis());
然後需要唯一ID的時候使用ran.nextLong()獲取,實際上這樣的選擇還是看你對於ID精度的要求.可以使用更加複雜的隨機演算法來產生,比如說產生一串隨機字串加上數字等等.
個人認為,以上問題可以分為資料庫是否設為併發操作和程式實際操作兩部分進行。
System.currentTimeMillis();
用這個比較好些,重複機率比較小。
不過實際開發中,編碼最好為資料庫資訊編號和時間共同組成好一些
相關推薦
如何根據當前時間生成唯一編號
long id=new Date().getTime(); 是當前時間的唯一的編號…… System.currentTimeMillis() 只是獲取當前的時間戳,單位是毫秒,但是這並不是唯一的. 如果你在1毫秒中進行了兩次操作,那麼這兩個ID就是
Windows系統,bat根據當前時間生成檔名稱
rem 根據當前日期獲取,年月日串 set yyyy=%date:~,4% set mm=%date:~5,2% set day=%date:~8,2% set "YYYYmmdd=%yyyy%%mm%%day%" rem 把年月日串中的空格替換為0 set "YYYYm
模板方法模式 生成唯一編號
null ide serial lba exception gin this clas exceptio 模板抽象類 /** * 編碼生成器 */ public abstract class AbstractNumberGenerator { private
vue中根據當前時間進行排序
computed: { newdataList: function() { return this.sortKey(this.dataList, "addtime"); } }, methods: { sortKey(array, key) {
java 中怎麼根據當前時間得到上週一和上週五的日期
java 中怎麼根據當前時間得到上週一和上週五的日期 /** * 獲取上週五時間 */ public Date lastFirday() { //作用
js根據當前時間和結束時間做倒計時(還有XXX天XXX時XXX分XXX秒)
js根據當前時間和結束時間做倒計時(還有XXX天XXX時XXX分XXX秒),當天,不需要XXX天數,剩餘0小時,不需要顯示XXX時,剩餘0分鐘,不需要顯示XXX分 1. js方法 2. HTML程式碼 1. js方法 /*
c# 根據當前時間獲取,本周,本月,本季度,月初,月末,各個時間段
ble pre 上月 new 。。 datetime test addm [] DateTime dt = DateTime.Now; //當前時間 DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") //24小時制 Date
根據當前時間與之前時間差 分別顯示月日 和 具體時間
此效果是 如果是今天以前的時間 介面只顯示月日,如果是今天的時間 顯示具體的時間 不顯示年月 顯示效果 具體實現功能 String dayTime=mSeemelist.get(position)
設定身份證號與性別、生日聯動,根據當前時間戳獲取年齡
1、設定身份證號與性別、生日聯動 $("#sfz").change(function(){ //設定身份證號生日聯動 &
C#根據當前時間獲取,本週,本月,本季度等時間段
【轉載】http://www.cnblogs.com/jonycaimarcia/archive/2012/12/12/2814735.html DateTime dt = DateTime.Now; //當前時間 DateTime
C# 根據當前時間計算周、月、季度、年的換算及注意事項
public static void ShowTime() { /* * 根據當前時間進行時間段轉換: * 本週、下週、上週 *
js根據當前時間的前一個月和後一個月設定預設時間
根據當前的時間,給開始時間和預設時間設定一個預設值 我用的是getTime()方法,這個方法返回的是 1970 年 1 月 1 日開始計算到 Date 物件中的時間之間的毫秒數 var today =
.net根據使用者Id生成唯一6位邀請碼,可逆轉。
今天要做邀請碼這個功能,但是我又懶得修改資料庫表結構,然後在網上看了不少部落格,然後在php一個部落格上面看到了一種寫法,然後便根據我的理解改寫成了.net的寫法。話不多說直接貼程式碼。 static void Main(string[] args) {
根據當前時間獲取當前周的開始、結束時間(週一到週日)
專案開發中,碰見每週更新三道題的需求,不能多於三道題 package test; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; impor
根據當前時間找到想要月份的第一天和最後一天
CALL FUNCTION 'FIMA_DATE_CREATE' EXPORTING i_date = sy-datum i_months
Oracle根據當前時間獲取最近5年,最近6個月,最近30天的時間
根據當前時間獲取最近5年時間:(yyyy) SELECT to_char(SYSDATE,'YYYY') - LEVEL + 1 as "xAxisValue" FROM dualCONNECT BY LEVEL <= 5ORDER BY to_char(SYSDA
c# 根據當前時間獲取,本週,本月,本季度,月初,月末,各個時間段
DateTime dt = DateTime.Now; //當前時間 DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") //24小時制 DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")
根據當前時間獲取上一個月的時間
ont ini con edge lang har charset scale wid <!DOCTYPE html> <html lang="zh"> <head> <meta charset=&quo
node.js 根據時間戳生成惟一識別符號、隨機生成唯一識別符號
根據時間戳生成惟一識別符號、隨機生成唯一識別符號 npm install node-uuid //根據時間戳生成惟一識別符號 console.log(uuid.v1()) //隨機生成唯一識別符號 console.log(uuid.v4())
MySql根據配置實現資料表唯一編號自動生成
建立配置表:CREATE TABLE `sys_seq_ctrl` ( `seq_type` varchar(50) NOT NULL COMMENT '型別', `seq_title` varchar(50) NOT NULL COMMENT '描述', `seq_b