2016-03-15 117 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

依此类推,直到

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

它已经产生它保存在一个纯文本文件生成的值之后。

+2

这并不像一致5秒间隔,还有的行2和3在55秒,5秒以下,并某处7和8之间围绕57-58分钟请一致之间的差当询问如何产生一个模式。 –

+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

谢谢@哈里我如何添加日期和最后一次生成的数字,然后将它们显示在列表视图中并将它们保存为纯文本 – tallman

+0

是winform还是wpf?在winform中你可以做到这一点,循环收集并添加字符串'listView1.Add();' –

+0

将它们保存到** textfile **使用'File.WriteAllLines(“filename”,timeslice);' –

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(); 
相关问题