我想在指定时间内添加5分钟,这是我的代码。
string startTime = "1:00 AM";
string endTime = "0:05 AM";
TimeSpan duration = DateTime.Parse(endTime).Add(DateTime.Parse(startTime));
我一直收到错误,我怎么能在凌晨1点到凌晨1点05分之前有5分钟?
答案 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());