帐户锁定时间错误2小时

时间:2017-08-22 08:07:14

标签: c# active-directory userprincipal

获取AD用户锁定帐户的时间后,我使用以下代码:

UserPrincipal user = UserPrincipal.FindByIdentity(ctx, result.SamAccountName);
string = user.AccountLockoutTime.Value.ToString("yyyy-MM-dd HH:mm");

然而,停摆的时间似乎已经过了两个小时。怎么了?它是时区相关的,还是AD服务器上的时间错了?

1 个答案:

答案 0 :(得分:3)

来自remarks section of the MSDN documentation on the AccountLockoutTime property

  

与System.DirectoryServices.AccountManagement中的所有DateTime属性一样,返回的时间是UTC格式。要将其转换为本地时间,请在返回对象上调用ToLocalTime方法。

使用

user.AccountLockoutTime.Value.ToLocalTime().ToString("yyyy-MM-dd HH:mm");

以当地时区获取日期和时间。