以YYYY-MM-DDTHH:MM:SSZ格式计算两个日期/时间之间的秒数

时间:2017-03-28 08:50:26

标签: c#

是否有快速方法(在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);

是的,我可以创建一个解析所有这些的函数,但我希望比这更容易。

3 个答案:

答案 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:)