【发布时间】:2015-08-28 04:24:30
【问题描述】:
我需要根据日期生成增量数字。 在前一个日期(比如 2014 年 1 月 6 日)创建的数字不应大于在即将到来的日期(比如 2014 年 1 月 8 日)创建的数字。 如何添加日期? 我试过了,但在少数情况下它失败了
static long num =1;
public long GetUniqueNumberAsPerDate(DateTime date)
{
string dateStr = date.ToString("yyMMdd");
long alwaysIncrementeduniqueNum = num + 1;
return Convert.Int64(dateStr + alwaysIncrementeduniqueNum.ToString());
}
失败案例
通过日期:2014-06-06 人数 : 14 创建号码:14060614
通过日期:2013-06-06 号码 : 132 创建的数字:130606132(大于 14060614)
该函数可以被多个应用程序同时调用。所以日期时间(甚至毫秒)可以相同 这个问题的任何解决方案
【问题讨论】:
-
我不明白。为什么不只检查您的
date是否小于08-Jan-2014? -
@SonerGönül:那个日期只是我的错误。编辑
-
使用
DateTime.Now.Ticks有什么问题? -
它可以生成重复值@Niklas
-
@Niklas:是的,dotctor 是对的
标签: c# .net uniqueidentifier