2013-09-29 58 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