110,538
社区成员
发帖
与我相关
我的任务
分享
int d = int.Parse(DateTime.Now.ToString("yyyyMMdd"));
Random r = new Random(d);
int n = r.Next(3000, 5000);
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp18
{
class Program
{
static void Main(string[] args)
{
DateTime[] dtArr = { DateTime.Now, DateTime.Now.AddDays(1), DateTime.Now.AddDays(2), DateTime.Now.AddDays(3) };
for (int i = 0; i < 3; i++)
{
Console.WriteLine($"----- 第 {i} 次 -----");
foreach (DateTime dt in dtArr)
{
//增加随机秒数
DateTime testDt = dt.AddSeconds(new Random().Next(1, 180));
Console.WriteLine($"{testDt:yyyy-MM-dd} -> {GetRand(testDt)}");
}
}
Console.Read();
}
static int GetRand(DateTime dt)
{
int seek = Convert.ToInt32(dt.ToShortDateString().Replace("-",""));
Random random = new Random(seek);
return random.Next(3000, 5000);
}
}
}
满足你 #12 所说的要求了。var 值 = new Random((int)DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")).Ticks).Next(3000, 5000);
就可以了var tsDays = (DateTime.Now.Date - TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1))).TotalDays;
var ret = tsDays % 100;
var date = int.Parse(DateTime.Now.ToString("yyyyMMdd"));
var ret = date % 100; // 这个ret就是0到99之间的值了