2015-05-18 63 views
-2

我對C#.NET Windows應用程序的工作,需要保持在人的時候誰登錄使用的應用程序, 我已經使用如何設置通用時間

Datetime.Now; 

採取當前正值人登錄,並它的工作正常。

但問題是,當任何人來改變計算機系統的時間,然後登錄它需要的是改變的時候了,我同意,我使用

Datetime.now; 

因此,需要的是改變的時間,但那麼他有沒有什麼時間能夠考慮他/她的銀泰。

在此先感謝

+0

你是什麼意思「普遍」的時間?計算機唯一知道的就是系統,它由DateTime.Now返回。你在談論日光或時區變化嗎? –

+2

通常的做法是使用一些*服務器*時間 - 或者只使用通常的域名系統(TBH:沒有人會使用客戶端工具來協議登錄時間 - 讓用戶登錄到您的域並閱讀您的DC上的日誌) – Carsten

+0

您是否期待[UTC](http://en.wikipedia.org/wiki/Coordinated_Universal_Time)? – aloisdg

回答

0

唯一的「世界時」存在是UTC。您可以通過查詢它:

var utc = DateTime.UtcNow; 

如果您需要將其顯示爲本地時間(考慮時間段進去),那麼你可以使用:

utc.ToLocalTime(); 

現在,這並不解決您的因爲它仍然是基於系統時間的問題。任何有足夠權限的人都可以更改系統時間。你唯一的選擇是詢問一個Web服務(如時間服務器)以獲取當前(和實際)UTC時間。但我認爲這對記錄目的來說並不實際。