2013-09-29 94 views
-2

我正在編寫程序以查找創建時間和修改時間。如果我有一個字節數組,然後我將4個字節轉換爲一個整數。如何將整數轉換爲時間?將4字節數組轉換爲整數然後將整數轉換爲時間

byte []a = new byte [8]; 

a[0] = 5; 
a[1] = 8; 
a[2] = 0; 
a[3] = 19; 
a[4] = 77; 
a[5] = 54; 
a[6] = 0; 
a[7] = 9; 

//convert byte into integer 

Int32 creationtime = BitConverter.ToInt32(a,0); 


Int32 modificationtime = BitConverter.ToInt32(a, 4); 
+3

你如何定義'時間'?這個對話應該怎麼發生? –

+0

創作時間是318769157.這是什麼日期? –

+0

試圖在數字中找到任何一種感覺......修改時間似乎比創建時間低很多。它在創建之前如何被修改? – Guffa

回答

1

的問題是很明確,但是爲了一個字節數組轉換爲整數數組,你可以使用LINQ這樣:

var IntArray = ByteArray.Select(x=> Convert.ToInt16(x)).ToArray(); 

而且把整數時間,你可以使用:

foreach (var i in IntArray) { 
TimeSpan result = TimeSpan.FromHours(i); // or maybe from seconds, etc 
} 
+0

好的謝謝,但「Timespan」沒有在我的程序中聲明並忽略它 – zozo

+0

對不起,它是TimeSpan。我剛剛編輯了我的答案。 T和S大寫。 – Transcendent

+0

好,非常感謝你,但我嘗試這個代碼在數組{33,57,200,260}這個代碼失敗,並且不運行程序.........我需要在數組中使用大數目並將其轉換爲時間,可以你可以幫我使用大數組的數組{33,57,200,260}? – zozo