我正在使用模拟应用程序,需要为每条记录添加不同的时间。我将日期和时间存储在单独的字符串中:
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分钟
建议请。
答案 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();