长度十的整数,转成2个字节的byte数组

长度10的整数,转成2个字节的byte数组
是这样的,
我有一个这样的数据包。
头四位 是一个时间标识
byte[] data = new byte[20];
data[0]=156;
data[1]=15;
data[2]=103;
data[3]=83;

转换成整数是 1399263132 ; 
算法 BitConverter.ToInt32(data, 0);

时间是 2014-05-05 12:12:12 ;
时间转换成整数算法

DateTime dt =DateTime.Parse("2014-05-05 12:12:12");
TimeZone tz = TimeZone.CurrentTimeZone;
dt = dt.ToUniversalTime();
DateTime dtZone = new DateTime(1970, 1, 1, 0, 0, 0);
dt.Subtract(dtZone).TotalSeconds;


现在我想问:
1399263132 这个数字 转换成byte[2]
该如何转,因为我后面还需要将这个byte[2]转回1399263132  然后再转回时间 2014-05-05 12:12:12 
------解决方案--------------------
1399263132 这个数字 转换成byte[2]

2字体能存储的最大范围是 65535,你确定能存得下?

把一些常用数值类型,转换成byte[],可以使用

BitConverter.GetBytes 方法的相关重载
------解决方案--------------------
你本身是从byte[4]转过来的,你确定要转成byte[2]???
------解决方案--------------------
你在程序中约定时间从  今天开始。   把这时间序列化时减去今天的数 ,反序列化时再给加上。  这样你的时间从见天起不超过65535 这个数就ok了
------解决方案--------------------
这个是行不通的。
因为4个字节变成2个字节是信息的损失过程,没有通用的方法可以使2个字节再复原为4个字节。

2个字节只能表示35565种状态,即使精确度为天,也只能表示总共不到10年的日子。