将分钟添加到当前指定时间

时间:2017-06-12 20:38:57

标签: c# time add

我想在指定时间内添加5分钟,这是我的代码。

string startTime = "1:00 AM";
string endTime = "0:05 AM";

TimeSpan duration = DateTime.Parse(endTime).Add(DateTime.Parse(startTime));

我一直收到错误,我怎么能在凌晨1点到凌晨1点05分之前有5分钟?

3 个答案:

答案 0 :(得分:2)

您无法添加时间,只能添加跨度。但是,您可以通过TimeOfDay属性获取DateTime的范围:

string startTime = "1:00 AM";
string endTime = "0:05 AM";

DateTime duration = DateTime.Parse(startTime).Add(DateTime.Parse(endTime).TimeOfDay);

但是,直接使用timeSpan更值得推荐(你必须删除AM,因为它是一个跨度而不是DateTime):

string startTime = "1:00 AM";
string endTime = "0:05";

DateTime duration = DateTime.Parse(startTime).Add(TimeSpan.Parse(endTime));

如果你知道你永远不会添加其他东西而不是分钟,我会做这样的事情:

string startTime = "1:00 AM";
int minutes = 5;

DateTime duration = DateTime.Parse(startTime).AddMinutes(minutes);

您可以详细了解DateTime here

答案 1 :(得分:1)

您正在传递整个DateTime对象,而您需要在解析Minute字符串后仅传递endTime属性,然后在解析后使用AddMinutes方法DateTime的{​​{1}}对象:

startTime

它将返回DateTime updateTime = DateTime.Parse(startTime).AddMinutes(DateTime.Parse(endTime).Minute); 对象,向原始DateTime对象添加5分钟,即凌晨1:00 ,并且重新启用凌晨1点05分< /强>

查看工作DEMO Fiddle here

答案 2 :(得分:0)

Add方法有一个重载,它会获得TimeSpan。使用方法如下:

await Navigation.PushModalAsync(new YourMasterDetailPage());

System.DateTime.Add method documentation on MSDN