C# 两个时间段中间时刻

 1 /// <summary>
 2         /// 返回一个时间
 3         /// </summary>
 4         /// <param name="url"></param>
 5         /// <returns></returns>
 6         public DateTime returnTime()//返回随机时间
 7         {
 8             DateTime dt_now = DateTime.Now;
 9             DateTime dt_page = returnPageTime();//其他地方获取到的时间
10 
11             DateTime dateTimeMin = Convert.ToDateTime(dt_page);
12             DateTime dateTimeMax = Convert.ToDateTime(dt_now);
13             dateTimeMax = dateTimeMax.AddDays(3);
14 
15             TimeSpan ts = dateTimeMax - dateTimeMin;
16             DateTime rTime = DateTime.Now;
17             do
18             {
19                 Random r = new Random();
20                 //int t1 = r.Next(0, (int)ts.TotalDays);
21                 int t2 = r.Next(0, (int)ts.TotalHours);
22                 //int t3 = r.Next(0, (int)ts.TotalMinutes);
23                 //int t4 = r.Next(0, (int)ts.TotalDays);
24 
25                 DateTime newDT = dateTimeMin.Add(new TimeSpan(0, t2, 0, 0));
26 
27                 Random random = new Random((int)(DateTime.Now.Ticks));
28 
29                 int hour = random.Next(7, 22);
30                 int minute = random.Next(0, 60);
31                 int second = random.Next(0, 60);
32                 string tempStr = string.Format("{0} {1}:{2}:{3}", newDT.ToString("yyyy-MM-dd"), hour, minute, second);
33                 rTime = Convert.ToDateTime(tempStr);
34             }
35             while (rTime >= dateTimeMax || rTime <= dateTimeMin);
36 
37 
38             return rTime;
39         }

 

转载于:https://www.cnblogs.com/yishilin/p/7742187.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值