2010-08-03 38 views
2

我想當前的日期/時間添加到XML文檔 所以我用這樣的DateTime.Now.ToShortTimeString增加1小時它神祕:S

XmlAttribute receivedDateTime = SettingsFile.CreateAttribute("ReceivedDateTime"); 
receivedDateTime.Value = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString(); 

    Debug.WriteLine("Adding Date Time in addMessage method : " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString()); 
    Debug.WriteLine("Short Time Only: " + DateTime.Now.ToShortTimeString()); 
    Debug.WriteLine("Long Time Only: " + DateTime.Now.ToLongTimeString()); 
    Debug.WriteLine("Local Time: " + DateTime.Now.ToLocalTime()); 

但它會自動增加1小時到實際的時間! 因此,如果實際時間10.15 AM

調試消息打印

Adding Date Time in addMessage method : 8/3/10 11:15 AM 
Short Time Only: 11:15 AM 
Long Time Only: 11:15:51 AM 
Local Time: 8/3/10 11:15:51 AM 

而且我在移動模擬器和雙重檢查運行此,模擬器時間與我的PC的時間保持一致!

我知道這一定是一個很小的錯誤...所以如果任何人都可以指出,那將是非常感激。它是否與GMT或UTC或任何文化有關?

+2

什麼是你的時區(在你的主機和你的模擬器上)?它是否顯示正確的UTC時間(即DateTime.UtcNow)? – 2010-08-03 04:56:56

+0

你怎麼知道時間是「上午10:15」?這種說法不符合科學的方法。 – Kobi 2010-08-03 04:57:56

+0

啊......儘管模擬器上的時間是正確的,格林威治時間的時區被設置爲一個不同的:)這沒有訣竅:) Thanx – 2010-08-03 05:03:03

回答

2

移動設備是否設置爲不使用夏令時?並設置爲同一時間但不相同的本地時間偏移?

+0

它實際上不是夏令時,但格林尼治標準時間的時區:)但你的回答讓我走了,實際上檢查它:) – 2010-08-03 05:05:26

+1

足夠好時區是一個痛苦 – rerun 2010-08-03 05:13:42