2010-06-16 68 views
0

我有2個XML文件我正在閱讀 - 其中一個具有可讀性的日期/時間屬性(例如2010年5月1日12:03:14 AM),另一個...沒有那麼多(例如1272686594492)。這兩個文件都有複雜的日期/時間格式,但只有較新的文件具有可讀的版本。我無法弄清楚如何使複雜的版本可讀。有任何想法嗎?這些數字如何轉換爲可讀的日期/時間字符串?

這些數字在下面的pastbin中。

http://pastebin.com/HMLEAGhf

謝謝!

回答

4

看起來你所擁有的是1970年1月1日午夜的毫秒數(這有點像UNIX時間,除非是以毫秒爲單位,而不是秒)。例如:

long l = 1272740342854; 
DateTime dt = new DateTime(1970, 1, 1).AddMilliseconds(l); 
Console.WriteLine(dt); 

當我插上在,它實際上是一個幾個小時的休息時間,所以我想一定有某種應用時區,以及抵消。

+0

哇6月16日,我從未想過要算1從1970年1月1日開始計算一個DateTime字符串。對,對我來說,這是4個小時,但我可以用這個工作。你是怎麼弄出來的?謝謝你的方式! – duckwizzle 2010-06-16 00:51:04

+0

@duckwizzle,好吧,要弄清楚它是秒還是毫秒,你只需從另一個數中減去一個數。這給了幾個小時約百萬的不同,所以它需要毫秒。然後,您只需從最終日期減去毫秒以獲取「紀元」時間(例如'new DateTime(2010,5,1,0,3,14).Subtract(TimeSpan.FromMilliseconds(1272686594492)'')。我猜想1970年是Unix時代的「真正的」時代,這很常見。 – 2010-06-16 01:06:00

+0

Ooooh,好吧,謝謝很多人 – duckwizzle 2010-06-16 02:35:19

相關問題