DateTime.Now返回當前日期。但是如果有人更改了系統日期,DataTime.Now實際上不會返回實際當前數據。我們可以真的得到ACTUAL日期嗎?
所以問題是,在計算機中有沒有一些地方(可能是處理器或...),它總是保存實際的日期?如果是的話,我們如何檢索這些數據。請假定應用程序沒有訪問互聯網和本地網絡(它完全斷開連接)。
DateTime.Now返回當前日期。但是如果有人更改了系統日期,DataTime.Now實際上不會返回實際當前數據。我們可以真的得到ACTUAL日期嗎?
所以問題是,在計算機中有沒有一些地方(可能是處理器或...),它總是保存實際的日期?如果是的話,我們如何檢索這些數據。請假定應用程序沒有訪問互聯網和本地網絡(它完全斷開連接)。
號
有精確的兩種方式來獲得當前時間:
如果你不相信在計算機本身設置的時間,那麼你唯一的選擇是第二個,這一定需要conn您可以在可以信任系統時間。
不,計算機中沒有保存正確時間的魔法時鐘。
如果你對正確的時間有興趣,你應該看看NTP (network time protokol)。
甚至NTP只告訴你選擇的NTP服務器希望傳達的時間......我想知道OP的偏執有多遠 –
你必須相信某人。 –
問題當然是在「真實」日期或時間的定義中。
也許OP有一個清楚的想法是什麼意思,但有是沒有這樣的事情。
如果我在我的電腦裏有一個地方可以存儲實際的,正確的,天文調整的日期,那麼當我撿起它並向東或向西旅行時,我的「實際」日期和時間應該已經改變。
現在,我的電腦中的魔盒會如何知道?
所以,不,沒有「實際」日期/時間。
有兩個日期/時間,你可以使用:
1)所報告的用戶系統的地方之一。就用戶而言,這個是的實際日期/時間。 2)參考日期/時間,如UTC,或預定義時區中的任何當前時間。這與客戶報告的日期/時間無關。
什麼你可以做,當然是想弄清楚客戶的地理位置,並計算出哪些客戶的實際日期/時間應該是作爲來自祖魯時間偏移。
基本上,不,你不能。不是沒有特殊的硬件(例如可以從無線時鐘發射源讀取時間的無線時鐘接收器) –
在過去,我從BIOS中獲取日期/時間。但這並非完全安全。 – Stefan
您認爲CPU使用天空中的星星來定義實際的當前日期嗎? –