using System;
using System.Collections.Generic;
using System.Text;
namespace PublicLibrary.Common
{
public class RandHelper
{
///
/// 获得三位的随机数
///
///
public static string getThreeNumRandom()
{
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();
}
///
/// 新的日期字符串
///
///
///
public static string generateNewLongDateTime()
{
string currentTime = DateTime.Now.ToString("yyyyMMddHHmmss");
return currentTime;
}
/*无重复的ID生成可由上述二个函数来生成:
既可以生成由当前日期生成的ID,也可以由以前日期来生成这样的ID
string newid = generateNewLongDateTime() + getTreeNumRandom();
NewDateAndTime.ToString("yyyyMMddhhmmss"); 这一句有问题,如果是下午12点以后,就会产生13-12,14-12的情况,不是按24小时制来完成的。
NewDateAndTime.ToString("yyyyMMddHHmmss");
ToString("yyyyMMddhhmmss"); 12时制
要改成ToString("yyyyMMddHHmmss"); 24时制*/
public static long GetTimeRandId()
{
string newid = generateNewLongDateTime() + getThreeNumRandom();
return Int64.Parse(newid);
}
public static string GetRandGuid(int length)
{
string newid = Guid.NewGuid().ToString("N");
newid = newid.Substring(0, length);
return newid;
}
private static char[] constant =
{
'0','1','2','3','4','5','6','7','8','9',
'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'
};
public static string GenerateRandomCode(int Length)
{
System.Text.StringBuilder newRandom = new System.Text.StringBuilder(62);
Random rd = new Random();
for (int i = 0; i < Length; i++)
{
newRandom.Append(constant[rd.Next(62)]);
}
return newRandom.ToString();
}
}
}