C# 将分钟添加到当前指定时间
我想在指定时间的基础上增加5分钟,下面是我的代码C# 将分钟添加到当前指定时间,c#,time,add,C#,Time,Add,我想在指定时间的基础上增加5分钟,下面是我的代码 string startTime = "1:00 AM"; string endTime = "0:05 AM"; TimeSpan duration = DateTime.Parse(endTime).Add(DateTime.Parse(startTime)); 我不断出错我怎么能在凌晨1:00前5分钟变成凌晨1:05?您正在传递整个DateTime对象,在解析endTime字符串后,您只需要传递Minute属性,然后对startTime
string startTime = "1:00 AM";
string endTime = "0:05 AM";
TimeSpan duration = DateTime.Parse(endTime).Add(DateTime.Parse(startTime));
我不断出错我怎么能在凌晨1:00前5分钟变成凌晨1:05?您正在传递整个
DateTime
对象,在解析endTime
字符串后,您只需要传递Minute
属性,然后对startTime
的已解析DateTime
对象使用AddMinutes
方法来执行以下操作:
DateTime updateTime = DateTime.Parse(startTime).AddMinutes(DateTime.Parse(endTime).Minute);
它将返回DateTime
对象,在原始DateTime
对象的基础上增加5分钟,即1:00am,重新使用的时间为1:05am
查看正在传递整个
DateTime
对象的工作,而在解析endTime
字符串后,只需传递Minute
属性,然后对startTime
的解析DateTime
对象使用AddMinutes
方法:
DateTime updateTime = DateTime.Parse(startTime).AddMinutes(DateTime.Parse(endTime).Minute);
它将返回DateTime
对象,在原始DateTime
对象的基础上增加5分钟,即1:00am,重新使用的时间为1:05am
请参阅工作Add方法有一个获取TimeSpan的重载。按如下方式使用:
DateTime dt = DateTime.UtcNow; // this should be your value actually
DateTime newTime = dt.Add(TimeSpan.FromMinutes(5);
Add方法有一个重载,它获取TimeSpan。按如下方式使用:
DateTime dt = DateTime.UtcNow; // this should be your value actually
DateTime newTime = dt.Add(TimeSpan.FromMinutes(5);
您不能添加时间,只能添加跨度。但是,您可以通过
TimeOfDay
属性获取日期时间的跨度:
string startTime = "1:00 AM";
string endTime = "0:05 AM";
DateTime duration = DateTime.Parse(startTime).Add(DateTime.Parse(endTime).TimeOfDay);
但是,更建议直接使用时间跨度(您必须删除AM
,因为它是一个跨度而不是日期时间):
如果你知道你将永远不会再添加除了分钟以外的内容,我会这样做:
string startTime = "1:00 AM";
int minutes = 5;
DateTime duration = DateTime.Parse(startTime).AddMinutes(minutes);
您可以了解有关日期时间的更多信息。您不能添加时间,只能添加跨度。但是,您可以通过
TimeOfDay
属性获取日期时间的跨度:
string startTime = "1:00 AM";
string endTime = "0:05 AM";
DateTime duration = DateTime.Parse(startTime).Add(DateTime.Parse(endTime).TimeOfDay);
但是,更建议直接使用时间跨度(您必须删除AM
,因为它是一个跨度而不是日期时间):
如果你知道你将永远不会再添加除了分钟以外的内容,我会这样做:
string startTime = "1:00 AM";
int minutes = 5;
DateTime duration = DateTime.Parse(startTime).AddMinutes(minutes);
您可以了解有关日期时间的更多信息。将错误消息添加到问题将错误消息添加到问题AddMinutes方法是一个更好的选项(答案由@Ehsan提供)AddMinutes方法是一个更好的选项(答案由@Ehsan提供)+1。偏移量,从概念上考虑程序。你没有开始时间和结束时间。你有一个开始时间和持续时间。您真正想要的是“startTime”作为字符串,“durationInMinutes”作为整数。+1。偏移量,从概念上考虑程序。你没有开始时间和结束时间。你有一个开始时间和持续时间。你真正想要的是“startTime”作为字符串,“durationInMinutes”作为整数。不,不-这是个坏主意。这个代码可以工作。。。直到持续时间变为1-59之间的非整数分钟数。如果持续时间变为30秒或一整小时?然后这段代码将在开始时间上增加0分钟。不,不-这是个坏主意。这个代码可以工作。。。直到持续时间变为1-59之间的非整数分钟数。如果持续时间变为30秒或一整小时?然后,此代码将在开始时间上增加0分钟。