我正在嘗試使用需要UTC日期的Web服務。所以,我發現:UTC時間轉換
private static string GetDate(DateTime DateTime)
{
DateTime UtcDateTime = TimeZoneInfo.ConvertTimeToUtc(DateTime);
return XmlConvert.ToString(UtcDateTime, XmlDateTimeSerializationMode.Utc);
}
如果我做的:
DateTime DT1 = new DateTime(2012, 3, 25);
DateTime DT2 = new DateTime(2012, 3, 26);
string s1 = GetDate(DT1);
string s2 = GetDate(DT2);
S1包含:
2012-03-25T00:00:00Z
和s2包含:
2012-03-25T23:00:00Z
爲什麼S2不包含:
2012-03-26T00:00:00Z
?謝謝。
你在哪個時區? (請注意,如果您遵循正常的.NET命名約定並使變量爲camelCased,那麼您的代碼會更容易使用。看到名爲DateTime的變量真的很奇怪。) –
公平 - 該方法剛剛複製。我在(UTC)都柏林,愛丁堡,里斯本,倫敦 - 這是夏季時間的變化嗎? – cs0815
如果你還沒有這樣做,可以看看DateTimeOffset(http://msdn.microsoft.com/en-us/library/system.datetimeoffset.aspx)。這是用TimeSpan包裹的DateTime(即時區偏移)。 – flindeberg