2016-03-15 127 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();