如何测试是否通过日期时间(GMT)是在5分钟内

本文关键字:GMT 时间 5分钟 日期 是在 何测试 测试 是否 | 更新日期: 2023-09-27 18:18:18

在我的服务端点中,我得到一个GMT时间的字符串表示形式。

我必须验证经过的时间是在当前时间的5分钟内。

我应该怎么做?

        bool result = false;
        DateTime gmt;
        if (DateTime.TryParse(passedInGmtAsString, out gmt))
        {
            DateTime utcNow = DateTime.UtcNow;
            result  = ??
        }

如何测试是否通过日期时间(GMT)是在5分钟内

将传入的日期解析为适当的格式后,您可以使用DateTime.Subtract方法来确定差异,例如

var minutes = utcNow.Subtract(gmt).TotalMinutes

最直接的解决方案似乎是

result = Math.Abs((gmt - utcNow).TotalMinutes) < 5;
Result = ((DateTime.UtcNow - gmt).TotalMinutes <= 5)

试试这个:

    bool result = false;
    DateTime gmt;
    if (DateTime.TryParse(passedInGmtAsString, out gmt))
    {
        DateTime utcNow = DateTime.UtcNow;
        result  = (gmt - utcNow).TotalMinutes <= 5;
    }

您可以通过

获取结果
result = TimeSpan.Compare(gmt.Subtract(utcNow), TimeSpan.FromMinutes(5)) == -1;
如果第一个时间间隔(差值)小于第二个时间间隔(5分钟),

Compare将返回-1