2016-04-25 51 views
0

在我的項目中,我從datepicker中保存選定的日期時間(UTC)。它僅在本地運行應用程序時保存utc日期時間。部署到天藍色後,它將保存從datepicker中選擇的日期時間,而不考慮utc。如何在手動選擇的日期時間在天藍色的web應用程序中保存utc?

更新:

string selecteddate = "12/04/2016 05:30:15"; 
DateTime dt = Convert.ToDateTime(selecteddate).ToUniversalTime(); 

這段代碼保存在本地主機分貝UTC日期時間,但它不是在蔚藍

+0

我們可以有任何關於如何保存日期的代碼片段嗎? – Sampath

+0

string selecteddate =「12/04/2016 05:30:15」; DateTime dt = Convert.ToDateTime(selecteddate).ToUniversalTime();這段代碼在本地主機中保存** utc datetime **到數據庫中,但它不能在azure中工作 –

+0

您有任何錯誤消息嗎? –

回答

0

工作,你有Convert.ToDateTime(selecteddate)創建的DateTime實例將有DateTimeKind.Unspecified。因此,當您調用ToUniversalTime時,它假定源值位於運行代碼的計算機的本地時區中。

在Azure上,該時區是已經 UTC,因此而.Kind將變爲DateTimeKind.Utc,該值將保持不變。

如果您打算將其從特定時區轉換而來,請改爲使用TimeZoneInfo.ConvertTimeToUtc,併爲您所關心的時區傳遞特定的TimeZoneInfo值。

通常,不要依賴Web應用中的本地時區設置,因爲根據您部署的位置,時區可能有所不同。避免ToUniversalTimeToLocalTime以及DateTime.Now和其他依賴本地機器時區設置的功能。

相關問題