2016-03-15 4 views
-2

Мне нужно сгенерировать время с интервалом в 5 секунд, когда пользователь выбирает дату и определенный интервал времени, например. с 11:00:00 до 12:00:00. Программа должна затем создать запись так:Время генерации через 5 секунд

  1. дате времени случайное число
  2. 23/01/2016 11:02:02 030
  3. 23/01/2016 11:02:07 035
  4. 23/01/2016 11:02:12 054
  5. 23/01/2016 11:02:17 062
  6. 23/01/2016 11:02:22 058
  7. 23/01/2016 11: 02:27 056

И так далее до

Н. 23/01/2016 12:00:01 059

После того, генерируемой он сохраняет сгенерированные значения в простом текстовом файле.

+2

Это не выглядит как последовательный 5-секундного интервал, есть разница в 55 секунд между строкой 2 и 3, 5 секунд между следующим и где-то около 57-58 минут между 7 и 8. Пожалуйста, будьте последовательны когда вы спрашиваете, как создать шаблон. –

+0

На @ LasseV.Karlsen это была просто ошибка, она должна быть 5 секунд – tallman

+0

Как случайное число вступает в игру? – Rik

ответ

1

Вы можете сделать что-то подобное.

var fromDate = DateTime.Now; 
var toDate = DateTime.Now.AddHours(1); 


List<string> timeslice = new List<string>(); 
while(fromDate< toDate) 
{ 
    timeslice.Add(fromDate.ToString("dd/MM/yyyy hh:mm:ss")); 

    fromDate = fromDate.AddSeconds(5); 
} 

Работа Code

+0

Спасибо @ hari, как я могу добавить дату и последний разрозненный номер, а затем отобразить их в виде списка и сохранить их в виде простого текста – tallman

+0

это winform или wpf? в winform вы можете сделать это, пропустить цикл и добавить строку 'listView1.Add();' –

+0

Чтобы сохранить их в ** текстовом файле ** используйте 'File.WriteAllLines (" filename ", timelice);' –

0

метод, который является немного более LINQ.

var fromDate = DateTime.Now; 
var toDate = DateTime.Now.AddHours(1); 

var dateTimes = Enumerable.Range(0, int.MaxValue) 
    .Select(x => fromDate.AddSeconds(x * 5)) 
    .TakeWhile(x => x <= toDate) 
    .Select(x => x.ToString("dd/MM/yyyy hh:mm:ss")) 
    .ToList(); 
Смежные вопросы