簡體   English   中英

廣告帳戶過期設置問題

[英]Ad accountexpires setting issue

控制台程序中的此代碼可以正常工作

DateTime enteredDate = DateTime.Parse("2/2/2019 1:16:47 PM");
//change the time to 6pm
enteredDate = enteredDate.Date.Add(new TimeSpan(18, 00, 0));
Debug.WriteLine($"Entered date : {enteredDate}");
Debug.WriteLine($"FromFileTime: DateTime.FromFileTime(enteredDate.ToFileTime())}");

輸出是

Entered date : 2/2/2019 6:00:00 PM
FromFileTime: 2/2/2019 6:00:00 PM

當我這次為這樣的AD屬性設置時

directoryEntry.Properties["accountExpires"].Value = Convert.ToString(enteredDate .ToFileTime());

它將時間部分寫為12:00:00 PM,而不是6pm。 我究竟做錯了什么 ?

我認為這是一個時區問題,您處於UTC + 6時區。

我認為您根本沒有問題。 accountExpires屬性將時間存儲為一個數字,表示“自1601年1月1日(UTC)起100納秒間隔的數量”。 這正是ToFileTime()為您所做的。 您做對了。

但是請注意,它存儲在UTC中。 如果您在下午12:00看到它,那可能是因為您將它讀為UTC時間。

您的時間下午6:00是UTC的下午12:00

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM