2014-08-28 22 views
0

在我的代碼中,我將日期值作爲字符串(從xml文檔讀取),其中沒有指定時區。這裏是示例代碼...如何在通用時間格式下工作DateTime.Parse

string dateStr = "2012-06-23"; 
DateTime convertedDate = DateTime.Parse(dateStr).ToUniversalTime(); 

當我檢查convertedDate的值時,它是「22/06/2012 18:30:00」。我想知道在這種情況下ToUniversalTime()方法是如何工作的,以及它在這種情況下如何結束dateTime格式。

在此先感謝。

+3

相關:http://stackoverflow.com/questions/1201378/how-does-datetime-touniversaltime-work – 2014-08-28 07:24:33

+1

猜測:解析未知區returs日期時間(無論本地還是通用)和'ToUniversalTime'假設它是本地(未指定時) – firda 2014-08-28 07:25:23

+0

@firda [鏈接](http://msdn.microsoft.com/en-us/library/system.datetime.parse.aspx)到兩個[文檔](http:// msdn .microsoft.com/en-us/library/system.datetime.touniversaltime.aspx)頁面,你已經得到了答案。 – Rawling 2014-08-28 07:34:14

回答

1

Parse方法將日期的Kind屬性設置爲DateTimeKind.Unspecified,因爲字符串中沒有時區信息。 ToUniversalTime方法假定時間是本地時間並將其轉換爲UTC。

價:DateTime.Parse Method

「通常,該解析方法返回一個DateTime對象,其種類 屬性是DateTimeKind.Unspecified」。

價:DateTime.ToUniversalTime Method

「未指定的:當前DateTime對象被假定爲本地時間,並且彷彿類是本地執行 轉換」