首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在检查TimeSpan

正在检查TimeSpan
EN

Stack Overflow用户
提问于 2011-02-11 01:48:17
回答 7查看 18.3K关注 0票数 5

我有一个查询active directory的方法,并将上次密码重置的值返回给一个本地变量。我正在尝试将该值与当前日期和时间进行比较,并检查是否小于24小时。我想我已经很接近了,但似乎不能让它起作用。

谢谢,杰森

代码语言:javascript
复制
string passwordLastSet = string.Empty;
passwordLastSet = DateTime.FromFileTime((Int64)(result.Properties["PwdLastSet"][0])).ToString();  
public string lastReset(DateTime pwordLastReset)
{
    if (DateTime.Now.AddHours(24) <= passwordLastSet)
    {
        return "try again later";
    }
    else
    {
        return "all is good";
    }
}
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-02-11 01:51:23

这一点:

代码语言:javascript
复制
 if (DateTime.Now.AddHours(24) <= passwordLastSet)

应该是

代码语言:javascript
复制
   if (DateTime.Now <= passwordLastSet.AddHours(24))
票数 6
EN

Stack Overflow用户

发布于 2011-02-11 01:51:55

我正在尝试将该值与当前日期和时间进行比较,并检查是否小于24小时。

这段代码几乎是自己写的。

代码语言:javascript
复制
DateTime timeOfLastPasswordReset = // get time of last password reset
DateTime now = DateTime.Now;
TimeSpan difference = now.Subtract(timeOfLastPasswordReset);
if(difference < TimeSpan.FromHours(24)) {
    // password was reset less than twenty-four hours ago
}
else {
    // password was reset no less than twenty-four hours ago
}

请注意,代码的读法与您用英语指定的完全相同。

票数 7
EN

Stack Overflow用户

发布于 2011-02-11 01:50:53

(假设我没看错你的意图):

代码语言:javascript
复制
// Does passwordLastSet, with 24 hours added to it, fall before or after DateTime.Now?
// If AFTER, then reject, if BEFORE, then accept
if (passwordLastSet.Add(new TimeSpan(24, 0, 0)) > DateTime.Now)
{
    // Password was last set within the last 24 hours
    return "try again later";
}
else
{
    return "all is good";
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4960728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档