是否有快速方法(在C#中)以YYYY-MM-DDTHH:MM:SSZ格式计算包含日期/时间的两个字符串之间的秒数。
例如:
string startTime = "2017-03-27T13:58:39Z";
string endTime = "2017-03-27T14:07:26Z";
int numSecs = calculateSecondsBetween(startTime, endTime);
是的,我可以创建一个解析所有这些的函数,但我希望比这更容易。
答案 0 :(得分:8)
提取它们并使用TimeSpan
' s TotalSeconds
属性
string startTime = "2017-03-27T13:58:39Z";
string endTime = "2017-03-27T14:07:26Z";
int numSecs = (int)(DateTime.Parse(endTime) - DateTime.Parse(startTime)).TotalSeconds;
答案 1 :(得分:4)
减去日期时间并获取TotalSeconds
:
string startTime = "2017-03-27T13:58:39Z";
string endTime = "2017-03-27T14:07:26Z";
DateTime startTimeDt = Convert.ToDateTime(startTime);
DateTime endTimeDt = Convert.ToDateTime(endTime);
var diffInSeconds = (endTimeDt - startTimeDt).TotalSeconds;
Console.Write(diffInSeconds);
希望它有所帮助!
答案 2 :(得分:0)
fubo和mindOfAi的速度比我快得多,但是如果您正在寻找方便快捷地放入代码的东西,您可以创建一种扩展方法以使其更清洁:
public static class DateTimeExtensions
{
public static int NumberOfSecondsUntil(this string start, string end)
{
return (int)(DateTime.Parse(end) - DateTime.Parse(start)).TotalSeconds;
}
}
然后可以这样调用:
int numSecs = startTime.NumberOfSecondsUntil(endTime);
YMMV:)