从DateTime.Subtract获取负数

时间:2016-07-25 17:30:13

标签: c# datetime

我的系统管理员未能真正使AD中的密码到期,现在我的密码到期警告系统开始重新计算,而不是显示负数天。我希望剩余的日期是我的测试帐户的负数(5天伪过期),希望有人可以告诉我为什么我会失去负面。根据我在MSDN上阅读的内容,DateTime.Subtract可以返回负值。

DateTime today = DateTime.Now;
foreach (User user in users)
{
  DateTime expiryDate = user.pwdLastReset.AddDays(180);   //pwd expires every 180 days
  int remainingDays = Int32.Parse(expiryDate.Subtract(today).ToString("%d"));
  //snipped code to send warnings at different days remaining.
}

1 个答案:

答案 0 :(得分:1)

DateTime.ToString("%d")实际上将返回所代表月份的日期。例如,以下代码:

DECLARE @ftName NVARCHAR (1024) = dbo.fn_Util_CONTAINS_SearchString('value1 value2',default,default)
SELECT * FROM Table WHERE CONTAINS(name,@ftName)

打印出" 15" (如," 2016年7月15日"), 10或-10。