我在这种格式的数据库中有一个字段:2013-06-18 17:00:00.000
和格式的第二个字段持续时间:3000
(这表示秒,因此它是50分钟)
我需要减去这两个字段并设置另一个字段结果:2013-06-18 16:10:00.000
一个补充是,它们都只能以字符串格式从数据库中检索。所以它们都是字符串。
由于
答案 0 :(得分:4)
首先,您需要Parse
日期时间。然后使用AddSeconds
减去
var date = DateTime.Parse("2013-06-18 17:00:00.000");
var newDate = date.AddSeconds(int.Parse("-3000"));
您可以使用newDate.ToString()
将日期作为字符串。
您可以找到DateTime
here的文档。
更新:将秒数更改为字符串值。它使用Parse转换为整数。
答案 1 :(得分:2)
您可以减去日期时间对象。 (如果是DateTime类型)如果没有,你应该解析。
为了处理错误,我建议使用DateTime.tryParse(value,out dateTime);
belongs_to
如果你从db那里得到它作为日期时间你可以简单地:
DateTime parsedDateFromBD;
if(DateTime.tryParse("2013-06-18 17:00:00.000", out parsedDateFromBD)
{
// do Stuff
}
else
{
// do something else
}
干杯
里卡多
答案 2 :(得分:1)
除了这里的其他答案之外,还有如何将newDate解析为所需输出的字符串
string date = "2013-06-18 17:00:00.000";
string duration = "-3000";
int durationSeconds = int.Parse(duration);
var newDate = DateTime.Parse(date).AddSeconds(durationSeconds).ToString("yyyy-MM-dd HH:mm:ss.fff");
输出
//2013-06-18 16:10:00.000
您可以在此处找到有关DateTime.ToString()
的更多信息