以分钟为单位增加当前时间

时间:2012-09-15 10:53:52

标签: c# datetime

我正在使用模拟应用程序,需要为每条记录添加不同的时间。我将日期和时间存储在单独的字符串中:

string pdate = DateTime.Now.ToShortDateString();  
string ptime = DateTime.Now.ToShortTimeString();

现在我正在尝试为ptime变量添加5分钟(这是我在foreach循环中所做的)。

foreach (loaddata dl2 in lstdata)
{
  //some code
  ptime = DateTime.Now.AddMinutes(5); 
  //Results in ptime with date and time(I only need the time here)
}

更新:我需要在每次迭代中将前一次添加5分钟

建议请。

4 个答案:

答案 0 :(得分:3)

这样做

ptime = DateTime.Parse(ptime, "your string format", CultureInfo.InvariantCulture)
                .AddMinutes(5).ToShortDateString();

您的代码存在问题

仅在DateTime中存储DateTime,以便您可以在其中“增加”它们。 从DateTime转换为字符串很简单,几乎没有错误。但是从字符串到Dateime的转换有时会导致异常。

最好是这样做

DateTime ptime = DateTime.Now;

// After some coding

ptime = ptime.AddMinutes(5);

如果您知道不需要DateTime Format,就像在UI中显示一样,应该转换为字符串。

答案 1 :(得分:2)

为什么要将它存储在字符串中,以便将其存储在DateTime中? DateTime用于存储日期,并提供许多方法来处理操作日期。

如果您确实需要字符串,请操纵DateTime并稍后调用ToShortDateString()

答案 2 :(得分:1)

使用DateTime对象:

DateTime current = DateTime.Now;

foreach (loaddata dl2 in lstdata)
{

   //some code
   current = DateTime.Now.AddMinutes(5); 

   string pdate = current.ToShortDateString();  
   string ptime = current.ToShortTimeString();
   // do something with pdate and ptime

   //Results in ptime with date and time(I only need the time here)
}

答案 3 :(得分:0)

这不起作用吗?

ptime = DateTime.Now.AddMinutes(5).ToShortTimeString();