[英]UTC date in string format send from JavaScript client to .NET is getting converted into DateTime
我正在使用用JavaScript編寫的客戶端應用程序,該應用程序將數據發送到ASP.NET Web API端點(服務器)。
我要用戶選擇日期和時間。 我使用將該日期轉換為UTC日期時間作為string
。 toUTCString().
我將此信息發送到.NET應用程序,該應用程序期望該值是DateTime
類型。
我發送的值= Thu, 31 Dec 2015 03:30:00 GMT
我在.net端收到的價值= {12/30/2015 10:30:00 PM}
我知道價值正在轉化。 我的問題是:如何在服務器端將日期轉換為UTC。 我的假設是沒有附加到DateTime
對象的隱式timezone offset
。 如果我在格林威治代碼中運行ToUniversalTime()時,我得到的時間是相同的。 如果我在溫哥華居住時這樣做,那么我將得到-8小時的偏移DateTime對象。
因此,我來自不同位置的客戶端,然后使用.ToUniversalTime()
將時間轉換為UTC,轉換將是錯誤的。 我該如何克服這個問題?
如果用戶選擇日期和時間,則我認為它不是當前的並且是相對於用戶的。 在這種情況下,如果您想進一步分析數據或將其提供給另一個時區的其他用戶,則需要轉換為UTC。 如果不將其轉換為UTC,則會收到相對的日期/時間,並且需要另一個指示時區的數據。 但是即使在那種情況下,除了安全措施之外,沒有其他事情可以在服務器上計算可以在客戶端上輕松計算的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.