C# 生成唯一订单号
根据GUID+DateTime.Now.Ticks生产唯一订单号。
/// <summary>/// 生成唯一数/// </summary>public class UniqueData{private static object obj = new object();private static int GuidInt { get { return Guid.NewGuid().GetHashCode(); } }private static string GuidIntStr { get { return Math.Abs(GuidInt).ToString(); } }/// <summary>/// 生成/// </summary>/// <param name="mark">前缀</param>/// <param name="timeType">时间精确类型 1 日,2 时,3 分,4 秒(默认) </param>/// <param name="id">id 小于或等于0则随机生成id</param>/// <returns></returns>public static string Gener(string mark, int timeType = 4, int id = 0){lock (obj){var number = mark;var ticks = (DateTime.Now.Ticks - GuidInt).ToString();int fillCount = 0;//填充位数number += GetTimeStr(timeType, out fillCount);if (id > 0){number += ticks.Substring(ticks.Length - (fillCount + 3)) + id.ToString().PadLeft(10, '0');}else{number += ticks.Substring(ticks.Length - (fillCount + 3)) + GuidIntStr.PadLeft(10, '0');}return number;}}/// <summary>/// 生成/// </summary>/// <param name="mark">前缀</param>/// <param name="timeType">时间精确类型 1 日,2 时,3 分,4 秒(默认)</param>/// <param name="id">id 小于或等于0则随机生成id</param>/// <returns></returns>public static string GenerLong(string mark, int timeType = 4, long id = 0){lock (obj){var number = mark;var ticks = (DateTime.Now.Ticks - GuidInt).ToString();int fillCount = 0;//填充位数number += GetTimeStr(timeType, out fillCount);if (id > 0){number += ticks.Substring(ticks.Length - fillCount) + id.ToString().PadLeft(19, '0');}else{number += GuidIntStr.PadLeft(10, '0') + ticks.Substring(ticks.Length - (9 + fillCount));}return number;}}/// <summary>/// 获取时间字符串/// </summary>/// <param name="timeType">时间精确类型 1 日,2 时,3 分,4 秒(默认)</param>/// <param name="fillCount">填充位数</param>/// <returns></returns>private static string GetTimeStr(int timeType, out int fillCount){var time = DateTime.Now;if (timeType == 1){fillCount = 6;return time.ToString("yyyyMMdd");}else if (timeType == 2){fillCount = 4;return time.ToString("yyyyMMddHH");}else if (timeType == 3){fillCount = 2;return time.ToString("yyyyMMddHHmm");}else{fillCount = 0;return time.ToString("yyyyMMddHHmmss");}}}
C# 生成唯一订单号相关推荐
- java生成唯一订单号
/*** 生成唯一订单号* 规则:四位随机数+"M"+格式化到秒的时间+"R"+六位随机数*/public static String getBillCode( ...
- MySQL高并发生成唯一订单号的方法
高并发下生成唯一订单号的存储过程 这个是用mysql写的存储过程,搭配里面一张数据表使用,达到高并发情况下获得唯一订单号的目的:原理:按照一定规则生成订单号后,把订单号插入数据表后,再返回给用户,由于 ...
- 生成唯一订单号 工具类
package com.jsy.basic.util.utils;import java.text.SimpleDateFormat; import java.util.Date;/*** @prog ...
- js 根据时间生成唯一订单号
一般做唯一编号的时候,可以使用guid或者uuid的包直接生成,但是我希望唯一编号能够反应生成的时间信息,所以就准备使用日期+随机值来构造,代码如下: const tradeNo = function ...
- 生成唯一订单号_人人皆知却暗藏玄机的“数据库唯一标识符”
Hello 大家好,今天给大家讲一个几乎所有数据库都支持的特性:生成唯一标识符. 知乎视频www.zhihu.com 详细内容: 唯一标识符应用场景非常多,比如网站注册时自动给新用户一个唯一 ID, ...
- php订单怎么生成,四种PHP生成唯一订单号的方法
这几天一直在写个人使用的用户中心,虽然期间遇到不少的问题,但还是一点点的都解决了,也从制作期间学到不少的知识,今天就说一说利用PHP生成订单单的方法. 订单号,大家都不陌生,无论从在网上购物,还是在线 ...
- PHP生成唯一订单号
$order_number = date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), ...
- PHP生成唯一订单号/防止并发订单号重复
1.初步--这种如果并发+巧合有可能会重复 function genRequestSn($unique=0){$orderNo = date('YmdHis').substr(microtime(), ...
- php生成字母数字订单,php生成唯一订单号可控制位数字母和数字
public static function ddno($len=18)//生成订单号 { $lalist=array( 0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e' ...
最新文章
- 徐州联赛选拔赛 - 判断能否构成树
- 电商网站模板_阿里云建站:模板建站与定制建站怎么选(小白参考)
- java动脑公开课_java课堂动手动脑
- java 中的单引号报错_shell中的单引号,双引号,反引号
- Serverless实战之路
- Windows核心编程_静态编译和动态编译的区别
- -bash: cd: /.ssh: 没有那个文件或目录
- VScode 光标乱跳
- matlab的HDLcoder,matlab中hdl coder 的使用
- 嵌入式c语言精华,【精华整理】C语言嵌入式系统编程修炼--键盘操作篇
- 二叉平衡树(AVL树)详细理解
- word2vec总结
- ArcGIS删除字段
- 定积分积分换元之区间再现(a+b-x)+一元微积分
- Excel if else or and 怎么使用(陕西省身份证号码区域划分)
- 免费获取Q币的20种方法?[爆笑版]
- 黑夜给了我黑色的眼睛,我用它来寻找黑夜
- eCryptfs源码注释(2)
- 清理Xcode占用的Mac硬盘空间
- 香侬科技 Shannon.AI 招聘自然语言处理、计算机视觉工程师