Рандом времени.

  • Автор темы Автор темы Sz5
  • Дата начала Дата начала

Sz5

Client
Регистрация
10.12.2012
Сообщения
157
Реакции
186
Баллы
43
Код:
Развернуть Свернуть Копировать
var startDate = Convert.ToDateTime(DateTime.Now.ToString(project.Variables["start_date"].Value));
var endDate = Convert.ToDateTime(DateTime.Now.ToString(project.Variables["end_date"].Value));

TimeSpan timeSpan = endDate - startDate;
var randomTest = new Random();
TimeSpan newSpan = new TimeSpan(0, randomTest.Next(0, (int)timeSpan.TotalMinutes), 0);
DateTime newDate = startDate + newSpan;

return newDate;
Проблема.
Если выставляю в start_date и end_date одинаковую дату, результат всегда с 0:00:00
Помощь.
Подскажите, как отдельно рандомить часы и минуты, в случае, если start_date и end_date совпадают.
 
Можно конечно кубиками, проверять, если start_date и end_date одинаковые, то отправлять на другой сниппет, но вряд ли это можно будет назвать нормальным решением.
 
Решил сам. Достаточно вбивать start_date 00:00 end_date 23:59. Великая мощь C# :D
 
  • Оценить
Реакции: masterLomaster
Великая мощь C# :D
подскажи а как дату убрать, чтобы только время было или покажи где дату менять, а то он сегодняшнюю дату ставит, смысл если он сгенерит время которое уже прошло.
 
Добавляем переменные из сниппета в проект. Пишем нужные даты.
2a230da1535df2c1bd90917dfde48c70.png

Дальше кубиком с регулярным выражением парсим нужный элемент
2f37d8acd13d3d448cd324a9adeb23e5.png
Результат будет примерно такой.
499dda25a89df28a62c37977a409c25a.png

Сама регулярка со скрина: (?<=\ ).*
 
  • Оценить
Реакции: masterLomaster
ооо прикольно! Спасибо БРО! А я в переменные только время установил вот он мне и выдавал сегодняшнюю дату, а так как у тебя на скринах все здорово получается. Спасибки!
 
  • Оценить
Реакции: Sz5
но для проектов я обычно использую время такого формата return (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000; просто легче обрабатывать.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)