2016-11-23 106 views
0

我想显示前一个日期的日期时间,日期时间会根据实际时间递增,这样做是为了显示前一个日期时间的一些数据,它会根据实际时间递增,请建议任何替代方法任何。下面的代码获取基准时间的持续时间,并将根据当前的日期时间增加它。递增前一个日期时间

class Program 
{ 
    private static double? Duration { get; set; } 
    static void Main(string[] args) 
    { 
     var startDate = DateTime.Parse("2016-11-02 11:17:55 AM"); 

     if (!Duration.HasValue) 
      Duration = (DateTime.Now - startDate).TotalMinutes; 

     for (var count = 0; count < 10000; count++) 
     { 
      Console.WriteLine(DateTime.Now.AddMinutes(-Duration.Value).ToString("dd/MM/yyyy hh:mm:ss.fff tt")); 
      Thread.Sleep(100); 
     } 
    } 
} 
+0

你的循环只是做'startDate.AddMilliseconds(100);' – Fabio

+0

它不会给你实际的时间。 – Mc27

回答

0

如果我明白你的问题,你可能需要的是这样的:

DateTime previous = DateTime.Now; 

for (var count = 0; count < 10000; count++) 
{ 
    Console.WriteLine((DateTime.Now - previous).ToString("dd/MM/yyyy hh:mm:ss.fff tt")); 
    previous = DateTime.Now 
    Thread.Sleep(100); 
} 

基本上你只需要现在存储当前的日期,以便能够使用它作为一个日期下一次。

+0

它仍然会抛出一个异常:'System.FormatException:输入字符串的格式不正确' –

+0

这将改变上一个日期,你应该保持第一个值并且根据时间改变增加。 – Mc27