using System.Text;
/// <summary>
/// 获得三位的随机数
/// </summary>
/// <returns></returns>
public string getTreeNumRandom()
{
Random ro = new Random();
int iResult;
int iUp = 999;
int iDown = 100;
iResult = ro.Next(iDown, iUp);
//Response.Write(iResult.ToString());
return iResult.ToString().Trim();
}
/// <summary>
/// 新的日期字符串
/// </summary>
/// <param name="oldShortDateTime"></param>
/// <returns></returns>
public string generateNewLongDateTime(string oldShortDateTime)
{
System.DateTime currentTime = DateTime.Now;
string LongTimeString = currentTime.ToLongTimeString().ToString().Trim();//10:01:01
string DateAndTime = oldShortDateTime.Trim() + " " + LongTimeString.Trim(); //2004-01-02 10:01:01 组成一个新的日期字符串
DateTime NewDateAndTime = Convert.ToDateTime(DateAndTime);
DateAndTime = NewDateAndTime.ToString("yyyyMMddhhmmss");
return DateAndTime;
}
无重复的ID生成可由上述二个函数来生成:oldShortDateTime = "2010-08-14"
既可以生成由当前日期生成的ID,也可以由以前日期来生成这样的ID
string newid = generateNewLongDateTime("2010-08-14") + getTreeNumRandom();
NewDateAndTime.ToString("yyyyMMddhhmmss"); 这一句有问题,如果是下午12点以后,就会产生13-12,14-12的情况,不是按24小时制来完成的。
ToString("yyyyMMddhhmmss"); 12时制
要改成ToString("yyyyMMddHHmmss"); 24时制
本文介绍了一种通过结合当前时间与随机数生成唯一ID的方法。该方法利用了C#中的DateTime和Random类,确保每次生成的ID都是唯一的,并适用于不同的场景。

660

被折叠的 条评论
为什么被折叠?



