2013-08-26 2 views
0

Я хочу получить дату с 2013/01/01 по сегодняшний день. Плюс время с 14:00 до 23:00, но интервал времени составляет 15 минут.Как получить случайное время в определенном формате времени

Например:

2013/01/01 14:15 
2013/01/21 14:30 
2013/01/21 17:45 
2013/03/17 14:00 
. 
. 
. 

За день я могу использовать код, приведенный ниже, но я не уверен в части времени

DateTime start = new DateTime(2013, 1, 1); 
Random gen = new Random(); 
int range = (DateTime.Today - start).Days;   
start.AddDays(gen.Next(range)); 
+0

Похоже случайное целое число в диапазоне от 0 до 36, умноженное на 15 минут. – stark

ответ

1

Это должно работать:

int startHour = 14; 
int endHour = 23; 
int allQuarters = Enumerable.Range(0, (endHour - startHour) * 4).Count(); 
TimeSpan time = TimeSpan.FromMinutes(gen.Next(allQuarters) * 15); 
start = start + TimeSpan.FromHours(startHour) + time; 

Demo

Смежные вопросы