生成ID模板:年月日時分秒+6位自增碼

因為生成訂單ID、商品ID 或者什么什么ID的,不想用自增,又怕反復,于是就用 ?年與日時分秒 + 6位自增碼 (共計20位長度)來當作ID


注意:假設你的ID是Long型。就要注意,Long的最大長度為19位,假設直接轉的話會有問題,建議改為年月日時分秒+5位隨機數


詳細代碼:

private static int sequence = 0;private static int length = 6;/*** YYYYMMDDHHMMSS+6位自增長碼(20位)* @author shijing* 2015年6月29日下午1:25:23* @return*/public static synchronized String getLocalTrmSeqNum() {sequence = sequence >= 999999 ? 1 : sequence + 1;String datetime = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());String s = Integer.toString(sequence);return datetime +addLeftZero(s, length);}/*** 左填0* @author shijing* 2015年6月29日下午1:24:32* @param s* @param length* @return*/public static String addLeftZero(String s, int length) {// StringBuilder sb=new StringBuilder();int old = s.length();if (length > old) {char[] c = new char[length];char[] x = s.toCharArray();if (x.length > length) {throw new IllegalArgumentException("Numeric value is larger than intended length: " + s+ " LEN " + length);}int lim = c.length - x.length;for (int i = 0; i < lim; i++) {c[i] = '0';}System.arraycopy(x, 0, c, lim, x.length);return new String(c);}return s.substring(0, length);}

以下是測試的結果:

2015070816503700001



轉載于:https://www.cnblogs.com/yangykaifa/p/7279097.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/282881.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282881.shtml
英文地址,請注明出處:http://en.pswp.cn/news/282881.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

oracle optimizer_features_enable,Oracle Optimizer:遷移到使用基于成本的優化器—–系列2.1-數據庫專欄,ORACLE...

oracle optimizer:遷移到使用基于成本的優化器—–系列2.1系列之二包含影響優化器選擇執行計劃的初始化參數和oracle內部隱藏參數&#xff0c;合理設置這些參數對于優化器是相當重要的。6.影響優化器的初始化參數除了生成統計資料之外&#xff0c;下面提及的參數設置在你的系統…

Azure 跨訂閱遷移資源踩坑記

突然收到微軟的郵件&#xff0c;提示我的一個 Azure 訂閱已經到期&#xff0c;所以轉為“禁用”狀態&#xff0c;只能進行數據的導出和處理。在這個訂閱里有不少較重要的資源在跑&#xff0c;直接關了可不行…于是開啟了一個支持事件&#xff0c;臺灣美眉的態度和聲線真的沒話說…

階乘的精確性

/* 輸入不超過1000的正整數n&#xff0c;輸出n!1*2*3*……*n的精確結果。 樣例輸入&#xff1a;30 樣例輸出&#xff1a;265252859812191058636308480000000 例如 n3&#xff1b;s6&#xff1b; n4&#xff1b;s24&#xff1b; n5&#xff1b;s120&#xff1b; 1000的階乘需要一…

Optaplanner規劃引擎的工作原理及簡單示例(1)

在之前的文章中&#xff0c;老猿已介紹過APS及規劃的相關內容&#xff0c;也對Optaplanner相關的概念和一些使用示例進行過介紹&#xff0c;接下來的文章中&#xff0c;我會自己做一個規劃小程序 - 一個關于把任務分配到不同的機臺上進行作來的小程序&#xff0c;并在這個小程序…

[HNOI2017]禮物

題目描述 我的室友最近喜歡上了一個可愛的小女生。馬上就要到她的生日了&#xff0c;他決定買一對情侶手環&#xff0c;一個留給自己&#xff0c;一個送給她。每個手環上各有 n 個裝飾物&#xff0c;并且每個裝飾物都有一定的亮度。 但是在她生日的前一天&#xff0c;我的室友突…

《ASP.NET Core 6框架揭秘》實例演示[25]:配置與承載環境的應用

與服務注冊一樣&#xff0c;針對配置的設置同樣可以采用三種不同的編程模式。第一種是利用WebApplicationBuilder的Host屬性返回的IHostBuilder對象&#xff0c;它可以幫助我們設置面向宿主和應用的配置。IWebHostBuilder接口上面同樣提供了一系列用來對配置進行設置的方法&…

oracle的除,Oracle數據庫如何去除別名 - daiyan0526的個人空間 - 51Testing軟件測試網 51Testing軟件測試網-軟件測試人的精神家園...

本人曾經用Personal OracleDeveloper2000開發了一些程序&#xff0c;當移植到FOR NT的時候發現有些功能出現了出錯提示。經研究發現原來是用戶沒有能正常連接。由于在developer2000連接personal oracle時不需要別名(alias)&#xff0c;直接寫入用戶名/密碼則可。而在OracleFOR …

Java 之 JavaScript (一)

1.JavaScripta.定義&#xff1a;JavaScript是腳本語言&#xff0c;是一種輕量級的編程語言b.實現&#xff1a;①直接通過標簽里面的onXX屬性驅動js的執行<input type"button" value"測試" οnclick"alert(‘hello‘)">②引入外部js文件——…

Linux日志出現大量kernel: NET: Registered protocol family 36

一臺Linux服務器的系統錯誤日志出現大量的“ kernel: NET: Registered protocol family 36”錯誤信息&#xff0c;如下所示&#xff1a; Jul 2 05:27:45 xxxxxx kernel: NET: Registered protocol family 36Jul 2 05:27:45 xxxxxx kernel: NET: Unregistered protocol family…

node的模塊機制

Node.js模塊的實現 之前在網上查閱了許多介紹Node.js的文章&#xff0c;可惜對于Node.js的模塊機制大都著墨不多。在后續介紹模塊的使用之前&#xff0c;我認為有必要深入一下Node.js的模塊機制。 CommonJS規范 早在Netscape誕生不久后&#xff0c;JavaScript就一直在探索本地編…

vs使用ado連接oracle,在VS環境下以ADO方式操作Oracle數據庫

利用ADO引擎方式訪問Oracle數據庫的實現方法&#xff1a;定義數據庫頭文件為CDBOperation.h#pragma once#import "C:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF","adoEOF"),rename("LockTypeEnum"…

httpstat:一個檢查網站性能的 curl 統計分析工具

httpstat&#xff1a;一個檢查網站性能的 curl 統計分析工具httpstat 是一個 Python 腳本&#xff0c;它以美妙妥善的方式反映了 curl 統計分析&#xff0c;它是一個單一腳本&#xff0c;兼容 Python 3 &#xff0c;在用戶的系統上不需要安裝額外的軟件(依賴)。作者&#xff1a…

Unity(創建腳本)

#一、描述 記錄第一課時&#xff0c;腳本的創建與使用基本的API #二、學習記錄 &#xff08;一&#xff09;創建一個Cube方塊 &#xff08;二&#xff09;在cube組件上添加一個腳本&#xff0c;選中cube組件&#xff0c;在屏幕右側有著cube的組件屬性欄&#xff0c;點擊AddComp…

關于面試中看到一些問題

最近公司在招聘.NET開發人員&#xff0c;面試了一些人&#xff0c;有一些感悟&#xff0c;分享出來&#xff0c;以供參考。面試的人員中&#xff0c;有一些是三五年的開發人員&#xff1b;也有幾個是10年左右的技術負責人&#xff0c;不但自己架構過項目&#xff0c;還有帶領導…

jQuery遍歷not的用法

從包含所有段落的集合中刪除 id 為 "selected" 的段落&#xff1a; $("p").not("#selected") 定義和用法 not() 從匹配元素集合中刪除元素。 語法 1 .not(selector) 參數描述selector字符串值&#xff0c;包含用于匹配元素的選擇器表達式。語法 …

linux 字符串加入中括號,Linux Shell 基礎 -- 總結幾種括號、引號的用法

1、雙引號 " "雙引號常用于包含一組字符串&#xff0c;在雙引號中&#xff0c;除了 "$"、""、" (反引號)"有特殊含義外&#xff0c;其余字符(如IFS、換行符、回車符等)沒有特殊含義。$ a3$ echo "$a"輸出結果為 3&#xff…

設計模式相關

多例模式 轉載于:https://www.cnblogs.com/our880tom/p/6392983.html

一個countDown在多線程調度下使用不當的分享

2019獨角獸企業重金招聘Python工程師標準>>> 一個countDown在多線程調度下使用不當的分享 1. 詭異的數據抖動 在一個需求開發過程中&#xff0c;由于有多角色需要獲取每個角色下的菜單&#xff1b;結果出現了單角色下拉去菜單沒問題&#xff0c;多角色情況下只有一個…

我堅持三年了!

閱讀本文大概需要5分鐘。不知不覺&#xff0c;公眾號寫作已經持續了3年了。2019年11月底&#xff0c;心血來潮寫了第一篇文章&#xff0c;更多是為了復盤過去的一些工作經歷。在前幾天&#xff0c;讀者數突破了16萬&#xff0c;雖然這個數字相比那些頭部大號而言并不多&#xf…

關于Qt模態框總匯

轉載請注明出處&#xff1a;http://www.cnblogs.com/dachen408/p/7285710.html 父窗體為QMainWindow&#xff1b; 當子窗體為&#xff1a; 1.QWidget&#xff0c;需要設置 this->setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog); this->setWindowModality(Qt::Win…