2013-02-05 74 views
-3

有什麼辦法讓真實世界的時間進入我的應用程序? (我們只能檢索互聯網上如此高的精度,所以我需要這樣的方法,它從互聯網上返回實時鐘)Windows Phone C# - 獲得實時

+1

SNTP:https://en.wikipedia.org/wiki/Network_Time_Protocol –

+1

好吧....什麼是你的問題,你嘗試過什麼? – PhoenixReborn

+0

我只是簡單地試圖檢索開始時間。時間= DateTime.Now.ToString(); –

回答

1

如果花費在任務時間是很重要的,把所有的時間在服務器上。有一個開始時間的方法,它應該返回到期時間。然後用戶提交答案,如果超過預期時間,則拒絕答案。

+0

有沒有辦法獲得Windows服務器的時間?或任何時間駐留在網絡上? –

+0

@KeremAytaç使用此URL,並解析出來的響應https://www.google.com/#hl=en&tbo=d&output=search&sclient=psy-ab&q=utc+now&oq=utc+now&gs_l=hp.3..0l3j0i10 .1646.2461.0.2622.7.7.0.0.0.0.101.490.6j1.7.0.les%3B..0.0 ... 1c.1.2.hp.NBgZDK7tr8E&PBX = 1&BAV = on.2,or.r_gc.r_pw.r_cp.r_qf。 &bvm = bv.41934586,d.cGE&fp = cb92457a1274b65a&biw = 1426&bih = 1158但這很荒謬。請改用我的建議。 – evanmcdonnal

+0

我看到您的建議,但據我所知,它會返回您手機的時間。如果你改變你的手機時間,這個時間也會改變。我錯了嗎? –

2

DateTime.UtcNow返回UTC時間,這是獨立的時區。

http://msdn.microsoft.com/en-us/library/system.datetime.utcnow.aspx

要使用谷歌的時間;發送一個HTTP GET到https://www.google.com/search?q=utc+now&oq=utc+now&aqs=chrome.0.57j0j60j0j60j62.1138&sourceid=chrome&ie=UTF-8

解析出在<div class="vk_bk vk_ans">1:31 AM</div>基本價值; where element.class == "vk_bk vk_ans" get element.innerHTML

如果你用自己的服務器進行交互只是在用它發在蜱返回給客戶端的時間。順便說一句,即使你這樣做,一個真正想欺騙你的系統的人也能做到這一點。

+0

我知道,但如果您使用GMT + X時區,它會將您的手機恢復到GMT +0的時間。我錯了嗎? –

+0

@KeremAytaç用戶可以通過更改系統時間來打破它。如果您想使用Google時間,我要添加一個編輯。 – evanmcdonnal

+1

+1對於大多數實際情況,UtcNow應該沒問題 - 手機時間通常已經同步。如果用戶真的想欺騙 - 請求服務器時間不會比本地電話的時間更好(可能更容易更改)。請注意,您不需要解析HTTP響應 - 大多數頁面上的「上次修改」標題包含「當前」時間。 –